#UseHook

Erzwingt die Verwendung des Hooks, um alle oder einige Tastatur-Hotkeys zu implementieren.

#UseHook [On|Off]

Parameter

On|Off

#UseHook, ohne eins der folgenden Wörter danach, ist das gleiche wie, als würde man #UseHook On angeben.

On: Der Tastatur-Hook wird verwendet, um alle Tastatur-Hotkeys zwischen hier und der nächsten Direktive #UseHook OFF (falls vorhanden) zu implementieren.

Off: Hotkeys werden mit der Standardmethode implementiert (wenn möglich mit RegisterHotkey(), ansonsten per Tastatur-Hook).

Bemerkungen

Ein Tastatur-Hotkey wird üblicherweise mit der Windows-API-Funktion RegisterHotkey() implementiert, wann immer es möglich ist. Unter bestimmten Bedingungen könnte sich die Reaktionsfähigkeit der Hotkeys erhöhen, wenn stattdessen der Tastatur-Hook verwendet wird.

Das Aktivieren dieser Direktive ist das gleiche wie, als würde man bei den betroffenen Hotkeys den $-Präfix angeben.

#UseHook sollte, wie jede andere Direktive auch, nicht wie ein Befehl im Skript positioniert werden (beispielsweise macht es keinen Sinn, die Direktive in eine Subroutine zu setzen). Diese Direktive wird nur beim Starten des Skripts ausgeführt, danach nie wieder. Positionieren Sie diese Direktive stattdessen direkt vor dem Hotkey, der als erstes von ihr beeinflusst werden soll.

Standardmäßig können Hotkeys, die den Tastatur-Hook verwenden, nicht durch den Send-Befehl ausgelöst werden. Ebenso können Maus-Hotkeys nicht durch Befehle wie Click ausgelöst werden, weil alle Maus-Hotkeys den Maus-Hook verwenden. Verwenden Sie stattdessen Gosub, um direkt zur Hotkey-Subroutine zu springen. Zum Beispiel: Gosub #LButton.

[v1.1.06+]: #InputLevel und SendLevel ermöglichen zusätzliche Kontrolle darüber, welche Hotkeys und Hotstrings durch den Send-Befehl ausgelöst werden sollen.

Ist diese Direktive im Skript nicht angegeben, gilt standardmäßig OFF.

Siehe auch

#InstallKeybdHook, #InstallMouseHook, ListHotkeys, #InputLevel

Beispiel

#UseHook  ; Erzwingt die Verwendung des Hooks bei nachfolgenden Hotkeys.
#x::MsgBox, Dieser Hotkey wird mit dem Hook implementiert.
#y::MsgBox, Dieser auch.
#UseHook off
#z::MsgBox, Aber dieser nicht.