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

Узнай цену своей работы

Формулировка задачи:

не процессов, как в Win TaskMngr не PID, а imageName. А если не через API, то еще бы лучше. Ничего не нашел, кроме нерешенной темыПроцедура получения списка всех программ и окон

Решение задачи: «Как получить список запущенных программ?»

textual
Листинг программы
  1. ' на форме List1 и кнопка
  2. Private Declare Function GetDesktopWindow Lib "User32" () As Integer
  3. Private Declare Function GetWindow Lib "User32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
  4. Private Declare Function IsWindowVisible Lib "User32" (ByVal hwnd As Long) As Long
  5. Private Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  6. Const GW_HWNDNEXT = 2
  7. Const GW_HWNDFIRST = 0
  8. Const GW_OWNER = 4
  9. Dim Wnd As Long
  10.  
  11. Private Sub Command1_Click()
  12. Dim buff  As String
  13. 'Делаем буфер
  14. buff = String(100, Chr$(0))
  15.  
  16. Wnd = GetWindow(Me.hwnd, GW_HWNDFIRST)
  17.  Do While Wnd <> 0
  18.  ' Фильтруем только окна с именами, видимые, не дочерние, не своё
  19. If (Wnd <> Me.hwnd) And IsWindowVisible(Wnd) And (GetWindow(Wnd, GW_OWNER) = 0) And (GetWindowText(Wnd, buff, Len(buff)) <> 0) Then
  20.  GetWindowText Wnd, buff, Len(buff)
  21.   List1.AddItem buff
  22.  End If
  23. Wnd = GetWindow(Wnd, GW_HWNDNEXT)
  24.     Loop
  25. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы