#UseHook

Bewirkt, dass alle oder einige Tastatur-Hotkeys mit dem Hook implementiert werden.

#UseHook OnOff

Parameter

OnOff

Geben Sie eines der folgenden Wörter an (lässt man diesen Parameter weg, wird standardmäßig On verwendet):

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

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

Bemerkungen

Normalerweise wird die Windows-API-Funktion RegisterHotkey() wann immer möglich genutzt, um einen Tastatur-Hotkey zu implementieren. Allerdings ist die Reaktionsfähigkeit von Hotkeys unter Umständen besser, wenn stattdessen der Tastatur-Hook verwendet wird.

Diese Direktive auf ON zu setzen ist das gleiche wie, als würde man in den Definitionen der Hotkeys, die davon betroffen sein sollen, das $-Präfix nutzen.

#UseHook sollte wie alle anderen Direktiven nicht positioniert werden -- Direktiven werden nur einmal beim Start des Skripts verarbeitet -- als wäre sie ein Befehl (beispielsweise ist es sinnlos, die Direktive in eine Subroutine zu setzen). Positionieren Sie diese Direktive stattdessen direkt vor dem ersten Hotkey-Label, der von ihr beeinflusst werden soll.

Standardmäßig können Hotkeys, die den Tastatur-Hook nutzen, nicht durch den Send-Befehl ausgelöst werden. Ebenso können Maus-Hotkeys nicht durch Befehle wie Click ausgelöst werden, weil solche Hotkeys immer den Maus-Hook nutzen. Um das zu umgehen, können Sie Gosub nutzen, um direkt zur Subroutine des Hotkeys zu springen. Zum Beispiel: Gosub #LButton.

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

Wenn diese Direktive im Skript nicht angegeben ist, wird sie sich so verhalten, als wäre sie auf OFF gesetzt.

#UseHook kann wie alle anderen Direktiven nicht bedingt ausgeführt werden.

#InstallKeybdHook, #InstallMouseHook, ListHotkeys, #InputLevel

Beispiele

Bewirkt, dass die ersten beiden Hotkeys den Tastatur-Hook verwenden.

#UseHook  ; Bewirkt, dass die nachfolgenden Hotkeys den Hook verwenden.
#x::MsgBox, Dieser Hotkey wird mit dem Hook implementiert.
#y::MsgBox, Dieser Hotkey auch.
#UseHook Off
#z::MsgBox, Aber dieser nicht.