Überschreiben oder Deaktivieren von Hotkeys

Man kann alle systeminternen Hotkeys außer WIN+L und WIN+U deaktivieren, wenn folgende Änderung an der Registry vorgenommen werden (diese Änderung sollte bei allen Betriebssystemen funktionieren und erfordert möglicherweise ein Neustart):

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoWinKeys REG_DWORD 0x00000001 (1)

Aber lies weiter, wenn du mehr tun willst, als sie nur zu deaktivieren.

Hotkeys, die zu anderen Anwendungen gehören, können überschrieben oder deaktiviert werden, wenn man ihnen im Skript eine Aktion zuweist. Am häufigsten wird dieses Feature dazu verwendet, Hotkeys zu ändern, die von Windows selbst vorgegeben sind. Das folgende Beispiel zeigt, wie man WIN+E (das Tastenkürzel zum Starten des Windows Explorers) dazu bringen kann, eine andere Aktion durchzuführen:

#e::
MsgBox Dieser Hotkey gehört nun zum Skript.
return

Das nächste Beispiel zeigt, wie man den Hotkey WIN+R, der zum Öffnen des Ausführen-Fensters gedacht ist, vollständig deaktivieren kann:

#r::Return

Mit einem ähnlichen Beispiel könnten auch die beiden Windows-Tasten deaktiviert werden:

Lwin::Return
Rwin::Return

Es ist möglich, einen nicht-globalen Hotkey einer Anwendung (also ein Tastenkürzel, das nur funktioniert, wenn die Anwendung das aktive Fenster ist) zu deaktivieren oder zu ändern. Das folgende Beispiel zeigt, wie STRG+P (Drucken) nur für den Texteditor deaktiviert wird, aber für andere Fenster bestehen bleibt:

$^p::
IfWinActive ahk_class Notepad
    return  ; also nichts tun, so dass STRG+P im Texteditor nichts bewirkt.
Send ^p
return

Das $-Präfix im obigen Beispiel ist notwendig, damit der Hotkey sich "selbst senden" kann, ohne sich selbst zu aktivieren (ansonsten würde ein Warnungsfenster aufgrund einer Endlosschleife erscheinen). Siehe auch: Kontextabhängige Hotkeys.

Du kannst die oben genannten Beispiele ausprobieren, indem du sie in eine neue Textdatei (z. B. "Override.ahk") kopierst und anschließend startest.