PDA

Click to See Complete Forum and Search --> : Help me Please- Guru Necessary


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?

Mar 16th, 2001, 06:26 PM
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