Autohotkey: получить список окон с определенным названием

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

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

1 ответов


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
}