ninorans
Mar 17th, 2001, 09:52 AM
i would like to display alist of all runing applications (like the one shown when pressing ctrl-alt-del) so i can use the names for controling those applications with FindWindow api.
thanks, nino
Use the EnumWindows function.
Add to a Module.
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: (Add to a CommandButton in a Form)
EnumWindows AddressOf EnumWindowsProc, 0
The results will be printed in the Debug window.