7

特定のタイトルまたはクラス ID を持つウィンドウが表示されたときに、その中に領域を描画する AutoHotkey スクリプトを作成しています。問題は、同じタイトルとクラス ID を持つ複数のウィンドウが表示される場合があることです。その場合、私のスクリプトはそれらすべてを検出できず、アクティブなウィンドウ内の領域のみを描画します。

タイトルまたはクラス ID に一致するすべてのウィンドウのハンドルのリストを取得したり、AHK ですべてのウィンドウを循環させることはできますか? ありがとう

4

1 に答える 1

6

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
}
于 2012-05-24T15:39:29.953 に答える