Hotkeyset autoit емуляція клавіатурних натискань

(Опциональний) Назва функції, що викликається за допомогою комбінації клавіш клавіатури. Порожній рядок знімає встановлену раніше комбінацію.

Значення 1 означає успішне виконання, інакше 0.

Комбінації буферизуются і виконуються одночасно в порядку надходження. Якщо обробка першого виклику не завершена і відбувається наступне натискання, то другий виклик буде очікувати завершення обробки першого. Слід уникати ситуацій одночасного виклику сценаріїв, що містять виклик HotKeySet для однієї і тієї ж комбінації натискань клавіатури.

У звичайній ситуації встановлена ​​за допомогою HotKeySet комбінація перериває виконання обробки функції або виразу AutoIt і передає управління оброблювачу користувальницької функції, заданої викликом HotKeySet. Є винятки:
1) Якщо поточна функція є "блокує", то натискання клавіатури буферизуются і виконуються після завершення функції. Приклади блокуючих функцій - MsgBox і FileSelectFolder.
2) Після припинення обробки, викликаної натисканням індикатора AutoIt, всі встановлені функцією HotKeySet натискання ігноруються.

Неможливо встановити наступні комбінації:

Резервується для Windows

Є ситуації, в яких запущене раніше додаток не дозволяє використовувати деяку з комбінацій для HotKeySet.


Після установки комбінацію натискань клавіатури AutoIt стежить за їх натисканнями і не передає їх активному додатку, якщо клавіші Lock (NumLock, CapsLock і ScrollLock) зберігають протягом виконання сценарію свій початковий стан!
Якщо потрібно симулювати комбінацію натискань у виклику Send (), яка може запустити подія, заданий у виклику HotKeySet (), то замість цього слід застосовувати виклик ControlSend () або тимчасово зняти реєстрацію цієї комбінації в HotKeySet (), інакше виклик Send (), в принципі, здатний ініціювати нескінченний цикл обробки.

; Приклад реакції і передачі натискання клавіатури
HotKeySet ( "", "captureEsc")
Func captureEsc ()
;. can do stuff here
HotKeySet ( "")
Send ( "")
HotKeySet ( "", "captureEsc")
EndFunc

Викликається, може не мати параметрів. Вони ігноруються.

Для обробки цілої сукупності декількох натискань за допомогою однієї і тієї ж функції можна застосовувати макро @HotKeyPressed.

Пов'язана з функціями


; Press Esc to terminate script, Pause / Break to "pause"

Global $ Paused
HotKeySet ( "". "TogglePause")
HotKeySet ( "". "Terminate")
HotKeySet ( "+! D". "ShowMessage"); Shift-Alt-d

;;;; Body of program would go here ;;;;
While 1
Sleep (100)
WEnd
;;;;;;;;

Func TogglePause ()
$ Paused = NOT $ Paused
While $ Paused
sleep (100)
ToolTip (\ 'Script is "Paused" \'. 0. 0)
WEnd
ToolTip ( "")
EndFunc

Func Terminate ()
Exit 0
EndFunc

Func ShowMessage ()
MsgBox (4096. "". "This is a message.")
EndFunc