Вы можете использовать горячую клавишу, а затем горячие строки для захвата последовательности клавиш.
Это не завершает 5-секундный период времени раньше, если нажимаются другие клавиши, но ничего не произойдет. Если вы хотите немедленно выйти из системы при обнаружении определенных нажатий клавиш, вы можете пойти в цикл, сравнивая A_LastKey с известными клавишами 'ok', чтобы нажать и выйти рано, если обнаружится что-то еще.
#Persistent
hotstringsDisabled:=True
Return
; hotkey definition to enable hotstrings
Enter::
hotstringsDisabled:=False
SetTimer, DisableHotstrings, -5000 ; run once after 5 seconds
Return
DisableHotstrings:
hotstringsDisabled:=True
Return
; hotstring definitions...
; make as many as you like using this form...
; b0=don't backspace, c=case sensitive
:*b0c:custom::
If hotstringsDisabled
Return
;your code to do something useful goes here...
Msgbox % "A_ThisHotkey=" A_ThisHotkey "`n" "A_LastKey=" A_LastKey
Return
Начальная горячая клавиша также может быть объединена (зависит только от того, как вы хотите это сделать)...
Enter::
hotstringsDisabled:=False
Sleep 5000
hotstringsDisabled:=True
Return
Оператор Sleep 5000
- это то, что вы бы заменили циклом, если хотите раньше выйти из некоторых других клавиш или что-то в этом роде.