21 lines
958 B
AutoHotkey
21 lines
958 B
AutoHotkey
; Example: The following is a working script that displays a summary of all top-level windows.
|
|
|
|
; For performance and memory conservation, call RegisterCallback() only once for a given callback:
|
|
if not EnumAddress ; Fast-mode is okay because it will be called only from this thread:
|
|
EnumAddress := RegisterCallback("EnumWindowsProc", "Fast")
|
|
|
|
DetectHiddenWindows On ; Due to fast-mode, this setting will go into effect for the callback too.
|
|
|
|
; Pass control to EnumWindows(), which calls the callback repeatedly:
|
|
DllCall("EnumWindows", UInt, EnumAddress, UInt, 0)
|
|
MsgBox %Output% ; Display the information accumulated by the callback.
|
|
|
|
EnumWindowsProc(hwnd, lParam)
|
|
{
|
|
global Output
|
|
WinGetTitle, title, ahk_id %hwnd%
|
|
WinGetClass, class, ahk_id %hwnd%
|
|
if title
|
|
Output .= "HWND: " . hwnd . "`tTitle: " . title . "`tClass: " . class . "`n"
|
|
return true ; Tell EnumWindows() to continue until all windows have been enumerated.
|
|
}
|