Per ricevere una notifica immediata di una finestra che appare, utilizzare un gancio di shell. Questo a volte è così veloce che l'autohotkey può reagire prima ancora di vedere la finestra da solo.
Un gancio shell è dimostrato su AutoHotkey Forum.
Un esempio con l'uso (quasi copiato pari pari dal post sul forum):
#Persistent
SetBatchLines, -1
Process, Priority,, High
Gui +LastFound
hWnd := WinExist()
DllCall("RegisterShellHookWindow", UInt,hWnd)
MsgNum := DllCall("RegisterWindowMessage", Str,"SHELLHOOK")
OnMessage(MsgNum, "ShellMessage")
Return
ShellMessage(wParam,lParam)
{
If (wParam = 1) ; HSHELL_WINDOWCREATED := 1
{
WinGetTitle, Title, ahk_id %lParam%
If (Title = "WorkRest")
WinClose, ahk_id %lParam% ; close it immideately
}
}
Se si desidera utilizzare un simbolo letterale% in un comando, la fuga con il carattere di escape di AutoHotkey, l'apice inverso `(sullo stesso tasto di ~ su una tastiera americana):
MsgBox You are 200`% awesome!
Romale, puoi aprire lo spia di Windows quando questo promemoria di riposo WorkRave è attivo? Si apre la spia di Windows facendo clic con il tasto destro sull'icona AHK. The Window Spy sarà sempre in primo piano. Quando attivi la schermata WorkRave, dovresti vedere i dettagli (incluso ahk_class). Non so cosa si voglia fare con il segno%. –
Romale, qualche fortuna fino ad ora? –
1. La spia di Windows non riesce a catturare il primo avviso di workrave. Ma l'ho preso dalla lista delle finestre (ahk_class). Come posso legare un'azione, quando appare? 2. Esempio, non funziona: 5 :: {%} % :: {5} –