timk777
Active Member
- Joined
- Feb 19, 2007
- Sythe Gold
- 0
- Messages
- 156
This is used to list all current running processes. Similar to task manager. I didn't fully write this but I turned it into a function and added some stuff.
Usage is just simply ListExes
Like:
will work. All you need is a ComboBox called Combo1.
Enjoy!
Usage is just simply ListExes
Like:
Code:
Private Sub Command1_Click()
ListExes
End Sub
Code:
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const TH32CS_SNAPHEAPLIST = &H1
Private Const TH32CS_SNAPPROCESS = &H2
Private Const TH32CS_SNAPTHREAD = &H4
Private Const TH32CS_SNAPMODULE = &H8
Private Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Private Const TH32CS_INHERIT = &H80000000
Private Const MAX_PATH As Integer = 260
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 * MAX_PATH
End Type
Private Function ListExes()
On Error Resume Next
Dim NumExes As Long, Processes As PROCESSENTRY32, TempContainer As Long
Combo1.Clear
NumExes = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
Processes.dwSize = Len(Processes)
TempContainer = Process32First(NumExes, Processes)
Do While TempContainer
Combo1.Additem Left$(Processes.szExeFile, IIf(InStr(1, Processes.szExeFile, Chr$(0)) > 0, InStr(1, Processes.szExeFile, Chr$(0)) - 1, 0))
TempContainer = Process32Next(NumExes, Processes)
Loop
CloseHandle (NumExes)
End Function
Enjoy!

