Seznam běžících procesů

Postup:
Založte nový projekt a připojte do něj modul a formulář. Do formuláře přidejte Listbox (List1) a tlačítko (Command1).

Do modulu zapište následující deklarace:
Public Const TH32CS_SNAPPROCESS As Long = 2&
Public Const MAX_PATH As Integer = 260

Public 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       

Public Declare Function CreateToolhelpSnapshot Lib "Kernel32" Alias "CreateToolhelp32Snapshot" _
   (ByVal lFlags As Long, ByVal lProcessID As Long) As Long

Public Declare Function ProcessFirst Lib "Kernel32" Alias "Process32First" _
   (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Public Declare Function ProcessNext Lib "Kernel32" Alias "Process32Next" _
   (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Public Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
* každá deklarace musí být na samostatném řádku

Do formuláře na událost Click tlačítka zapište následující kód:
Private Sub Command1_Click()

   Dim hSnapShot As Long
   Dim uProcess As PROCESSENTRY32
   Dim r As Long

   hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
   If hSnapShot = 0 Then Exit Sub
   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

Spusťte projekt. Po kliknutí na tlačítko se List vyplní seznamem běžících procesů.

Zpět

Autor: The Bozena