Erzwingt die bedingungslose Installation des Tastatur-Hooks.
#InstallKeybdHook
Der Tastatur-Hook überwacht Tastendrücke, um Hotstrings und Tastatur-Hotkeys zu aktivieren, die nicht von RegisterHotkey unterstützt werden (RegisterHotkey ist eine systeminterne Funktion). Dieser Hook unterstützt auch einige andere Features, wie z.B. den Input-Befehl.
AutoHotkey installiert die Tastatur- und Maus-Hooks nicht bedingungslos, weil sie zusammen mindestens 500 KB Speicher verbrauchen würden. Daher wird der Tastatur-Hook normalerweise nur installiert, wenn das Skript eines der folgenden Dinge enthält: 1) Hotstrings; 2) einen oder mehrere Hotkeys, die den Tastatur-Hook benötigen (die meisten benötigen ihn nicht); 3) SetCaps/Scroll/NumLock AlwaysOn/AlwaysOff; 4) den Input-Befehl, für den der Hook installiert wird, wenn der Befehl zum ersten Mal verwendet wird.
Mit #InstallKeybdHook hingegen kann der Tastatur-Hook bedingungslos installiert werden, was zum Beispiel nützlich ist, um KeyHistory die Möglichkeit zu geben, die 20 zuletzt gedrückten Tasten anzuzeigen (für Debugging-Zwecke), oder um die Notwendigkeit von #HotkeyModifierTimeout zu vermeiden.
Tastatur-Hotkeys, die den Hook nicht benötigen, verwenden die reg-Methode, auch dann, wenn die Direktive #InstallKeybdHook verwendet wird. Im Gegensatz dazu wird beim Anwenden der #UseHook-Direktive oder des $-Präfixes auf einen Tastatur-Hotkey der Hook erzwungen, was dazu führt, dass der Hook bei aktiviertem Hotkey installiert wird.
Mit dem KeyHistory-Befehl oder -Menüpunkt können Sie prüfen, ob Ihr Skript den Hook verwendet. Mit dem ListHotkeys-Befehl oder -Menüpunkt können Sie prüfen, welche Hotkeys den Hook verwenden.
Diese Direktive macht ein Skript zusätzlich persistent; das heißt, dass ExitApp anstelle von Exit verwendet werden sollte, um dieses Skript zu terminieren.
#InstallKeybdHook kann wie alle anderen Direktiven nicht bedingt ausgeführt werden.
#InstallMouseHook, #UseHook, Hotkey, Input, #Persistent, KeyHistory, Hotstrings, GetKeyState, KeyWait