#UseHook

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

#UseHook [On|Off]

Parameter

On|Off

Wenn #UseHook ohne Parameter angegeben wird, gilt standardmäßig #UseHook On.

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, wählt man einfach den direkten Weg und springt stattdessen mit Gosub zu der Subroutine des Hotkeys. 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  ; Bewirkt, dass die nachfolgenden Hotkeys den Hook verwenden.
#x::MsgBox, Dieser Hotkey wird mit dem Hook implementiert.
#y::MsgBox, Dieser auch.
#UseHook off
#z::MsgBox, Aber dieser nicht.