Как получить список запущенных программ? - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д