2012-05-24 5 views
6

Sto facendo uno script AutoHotkey che, quando viene visualizzata una finestra con un determinato ID di classe o titolo, disegna una regione al suo interno. Il problema è che a volte possono apparire più finestre di questo tipo, tutte con lo stesso titolo e ID di classe. In tal caso il mio script non può rilevarli tutti e disegna solo una regione all'interno della finestra attiva.Autohotkey: ottiene l'elenco di finestre con un determinato titolo

È possibile ottenere un elenco di handle di tutte le finestre che corrispondono al titolo o all'ID di classe o in qualche altro modo scorrere tutti in AHK? Grazie

risposta

5

WinGet con il comando list produrrà una serie di maniglie

Winget, id, list, MyTitle quindi ciclo attraverso di loro, e il processo di ...

dal file di aiuto:

; 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 
}