Joey_k29
Mar 16th, 2001, 03:41 PM
What is the api call in order to find the handles of all programs currently running on a computer?
This will do the job for you.
'Author: Megatron
'Origin: http://www.vbforums.com
'Purpose: List all window using the EnumWindows API function
'Version: VB5+
Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal _
lpString As String, ByVal cch As Long) As Long
Declare Function GetWindowTextLength Lib "user32" _
Alias "GetWindowTextLengthA" (ByVal hwnd As Long) _
As Long
Declare Function EnumWindows Lib "user32.dll" (ByVal _
lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Function EnumWindowsProc(ByVal hwnd As Long, _
ByVal lParam As Long) As Long
Dim Length As Long
Dim sName As String
Dim Temp As String
Static iCount As Integer
iCount = iCount + 1
Length = GetWindowTextLength(hwnd) + 1
If Length > 1 Then
sName = Space(Length)
GetWindowText hwnd, sName, Length
Debug.Print Left(sName, Length - 1)
End If
EnumWindowsProc = 1
End Function
Usage
Private Sub Command1_CLick()
EnumWindows AddressOf EnumWindowsProc, 0
End Sub