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 * 1024
End Type
Private Declare Function Process32First Lib "kernel32" (ByVal HSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal HSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Const TH32CS_SNAPPROCESS = &H2
Private Sub Form_Load()
Dim Pro As PROCESSENTRY32
Dim HSnapshot As Long
List1.Clear
HSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
If HSnapshot Then
Pro.dwSize = Len(Pro)
If (Process32First(HSnapshot, Pro)) Then
Do
List1.AddItem Pro.szExeFile
List1.ItemData(List1.NewIndex) = Pro.th32ProcessID
Loop Until (Process32Next(HSnapshot, Pro) < 1)
End If
CloseHandle (HSnapshot)
End If
End Sub