С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
1

Как получить список запущенных программ?

26.09.2013, 21:06. Показов 3417. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не процессов, как в Win TaskMngr не PID, а imageName.
А если не через API, то еще бы лучше.
Ничего не нашел, кроме нерешенной темы
Процедура получения списка всех программ и окон
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2013, 21:06
Ответы с готовыми решениями:

Как получить список всех запущенных приложений как в диспетчере задач?
Как получить список всех запущенных приложений как в диспетчере задач вкладка Приложения (Не...

Хочу программно получить список запущенных приложений!
Нуно получить список приложений работающих в данный момент ... и если можно опишите плз как они...

Получить список всех приложений, запущенных текущим пользователем
Как получить список всех приложений, запущенных текущим пользователем? То есть то, что показывает...

Получить список запущенных программ
Как получить не список всех процессов, а список приложений? Как в диспетчере задач, там есть...

6
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
26.09.2013, 22:05 2
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от chai_nick Посмотреть сообщение
А если не через API, то еще бы лучше.
ну это вряд ли - ни один Бейсик не содержит готовый инструмент для этого.
В общем все сводится к поиску всех окон и из них фильтруем то, что по нашему мнению не удовлетворяет требованиям. Можно добавить ещё какие то исключающие условия по образу и подобию, если я чего то не учел в коде
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
' на форме List1 и кнопка
Private Declare Function GetDesktopWindow Lib "User32" () As Integer
Private Declare Function GetWindow Lib "User32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function IsWindowVisible Lib "User32" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Const GW_HWNDNEXT = 2
Const GW_HWNDFIRST = 0
Const GW_OWNER = 4
Dim Wnd As Long
 
Private Sub Command1_Click()
Dim buff  As String
'Делаем буфер
buff = String(100, Chr$(0))
 
Wnd = GetWindow(Me.hwnd, GW_HWNDFIRST)
 Do While Wnd <> 0
 ' Фильтруем только окна с именами, видимые, не дочерние, не своё
 If (Wnd <> Me.hwnd) And IsWindowVisible(Wnd) And (GetWindow(Wnd, GW_OWNER) = 0) And (GetWindowText(Wnd, buff, Len(buff)) <> 0) Then
 GetWindowText Wnd, buff, Len(buff)
  List1.AddItem buff
 End If
Wnd = GetWindow(Wnd, GW_HWNDNEXT)
    Loop
End Sub
5
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
27.09.2013, 21:05  [ТС] 3
Спасибо. Работает.
Тока тут мы получаем (в терминах WinTaskManager) Tasks (Applications), то бишь заголовки окон,
а я имел в виду названия процессов , Image Names, т.е. *.exe
0
145 / 46 / 1
Регистрация: 06.11.2012
Сообщений: 283
28.09.2013, 01:47 4
chai_nick,
Смотри тут
 Комментарий модератора 
Ссылка удалена! Правила 5.8 Запрещено публиковать ссылки на другие форумы

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Option Explicit
Private Declare Function CreateToolhelpSnapshot Lib "Kernel32"Alias"CreateToolhelp32Snapshot"  (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib"Kernel32" Alias "Process32First"   (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib  "Kernel32" Alias "Process32Next"  (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
Private Const TH32CS_SNAPPROCESS As Long = 2&
Private Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * MAX_PATH
End Type
Dim hSnapShot As Long
Dim uProcess As PROCESSENTRY32
Dim r As Long
 
Private Sub Command1_Click()
List1.Clear
hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapShot = 0 Then
    Exit Sub
End If
uProcess.dwSize = Len(uProcess)
r = ProcessFirst(hSnapShot, uProcess)
Do While r
    List1.AddItem uProcess.szExeFile
    r = ProcessNext(hSnapShot, uProcess)
Loop
Call CloseHandle(hSnapShot)
End Sub
0
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
28.09.2013, 21:08  [ТС] 5
Cricket93, спасибо.
Что-то 'спасибо' не работает :
"..вы не имеете прав для доступа к этой странице"
0
145 / 46 / 1
Регистрация: 06.11.2012
Сообщений: 283
29.09.2013, 00:32 6
chai_nick, Всегда пожалуйста!
0
695 / 236 / 18
Регистрация: 17.01.2011
Сообщений: 583
Записей в блоге: 1
29.09.2013, 12:31 7
Попробуйте вот так:

Visual Basic
1
2
3
4
Dim Process As Object
        For Each Process In GetObject("winmgmts:").ExecQuery("Select * from Win32_Process")
                  Debug.Print Process.Caption
        Next
1
29.09.2013, 12:31
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.09.2013, 12:31
Помогаю со студенческими работами здесь

Как посмотреть список запущенных программ?
В общем, у меня возник трабл, мне необходимо посмотреть список запущенных программ, (допустим нужно...

Как узнать список запущенных программ?
Как узнать какие программы запущены (хотябы из тех которые можно увидеть в окне которое появляется...

Как получить размеры окон всех запущенных программ и их имена?
Как получить размеры окон всех запущенных программ и их имена?

Как получить список запущенных приложений
Нужно получить список запущенных приложений... Среда - Microsoft Visual Studio 2010Перенесено из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­хро­н­н­ы­й счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru