#InstallKeybdHook

Erzwingt die bedingungslose Installation des Tastatur-Hooks.

#InstallKeybdHook

Bemerkungen

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

Beispiele

Installiert den Tastatur-Hook bedingungslos.

#InstallKeybdHook