Как получить список запущенных программ? - VB
Формулировка задачи:
не процессов, как в Win TaskMngr не PID, а imageName.
А если не через API, то еще бы лучше.
Ничего не нашел, кроме нерешенной темыПроцедура получения списка всех программ и окон
Решение задачи: «Как получить список запущенных программ?»
textual
Листинг программы
- ' на форме 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д