Installiert oder deinstalliert den Tastatur-Hook.
InstallKeybdHook Installieren, Erzwingen
Typ: Boolesch
Wenn weggelassen, wird standardmäßig true verwendet.
Wenn true, wird die Installation des Hooks gefordert.
Wenn false, wird jede zuvor von dieser Funktion gesetzte Forderung entfernt und der Hook ggf. deinstalliert.
Typ: Boolesch
Wenn weggelassen, wird standardmäßig false verwendet.
Wenn false, wird eine interne Variable aktualisiert, die signalisiert, ob der Hook vom Skript benötigt wird, aber es kann vorkommen, dass die Änderung nicht sofort in Kraft tritt, wenn der Hook für etwas anderes benötigt wird.
Wenn true und Installieren ist true, wird der Hook deinstalliert und anschließend neu installiert. Dies hat den Effekt, dass der Hook Vorrang vor allen anderen Hooks hat, die zuvor von anderen Prozessen installiert wurden. Wenn das System aufgehört hat, den Hook aufzurufen, weil ein Programm nicht mehr reagiert, kann eine Neuinstallation des Hooks helfen, ihn wieder zum Laufen zu bringen.
Wenn true und Installieren ist false, wird der Hook deinstalliert, auch wenn er für etwas anderes benötigt wird. Wenn ein Hotkey, Hotstring oder InputHook den Hook benötigt, wird er erst wieder funktionieren, wenn der Hook neu installiert wird. Der Hook kann entweder explizit durch Aufruf dieser Funktion neu installiert werden, oder automatisch als Nebeneffekt beim Aktivieren oder Deaktivieren eines Hotkeys oder beim Aufruf einer anderen Funktion, die den Hook benötigt.
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. die InputHook-Funktion.
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) aktive Input-Hooks.
Die InstallKeybdHook-Funktion kann dagegen verwendet werden, um den Tastatur-Hook bedingungslos zu installieren, was z.B. den folgenden Vorteil hat:
!LButton::
), können das Fenstermenü effizienter unterdrücken, indem sie nur beim Loslassen der Alt-Taste eine Maskierungstaste senden, anstatt bei jedem Mausklick ein Maskierungszeichen zu senden.Tastatur-Hotkeys, die den Hook nicht benötigen, verwenden die reg-Methode, auch dann, wenn die InstallKeybdHook-Funktion 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 der KeyHistory-Funktion oder dem zugehörigen Menüpunkt können Sie prüfen, ob Ihr Skript den Hook verwendet. Mit der ListHotkeys-Funktion oder dem zugehörigen Menüpunkt können Sie prüfen, welche Hotkeys den Hook verwenden.
InstallMouseHook, #UseHook, Hotkey, InputHook, KeyHistory, Hotstrings, GetKeyState, KeyWait