2012-05-24 2 views
6

Я создаю сценарий AutoHotkey, который, когда появляется окно с определенным названием или идентификатором класса, рисует область внутри него. Проблема в том, что иногда может появляться несколько таких окон, все из которых имеют одинаковый заголовок и идентификатор класса. В этом случае мой скрипт не может обнаружить их всех и только рисует область внутри активного окна.Autohotkey: получить список окон с определенным заголовком

Возможно ли получить список ручек всех окон, соответствующих названию или идентификатору класса или каким-либо другим способом, через все из них в AHK? Благодаря

ответ

5

WinGet с командой list даст массив дескрипторов

Winget, id, list, MyTitle затем цикл через них, и процесс ...

из файла справки:

; Example #2: This will visit all windows on the entire system and display info about each of them: 
WinGet, id, list,,, Program Manager 
Loop, %id% 
{ 
    this_id := id%A_Index% 
    WinActivate, ahk_id %this_id% 
    WinGetClass, this_class, ahk_id %this_id% 
    WinGetTitle, this_title, ahk_id %this_id% 
    MsgBox, 4, , Visiting All Windows`n%a_index% of %id%`nahk_id %this_id%`nahk_class %this_class%`n%this_title%`n`nContinue? 
    IfMsgBox, NO, break 
} 
Смежные вопросы