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 lesen Sie weiter, wenn Sie mehr tun wollen, 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 (der Tastaturkurzbefehl 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 Win-Tasten deaktiviert werden:
LWin::return RWin::return
Es ist möglich, einen nicht-globalen Hotkey von einer Anwendung (also ein Tastaturkurzbefehl, der 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:: if WinActive("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 Warndialogfenster aufgrund einer Endlosschleife erscheinen). Siehe auch: Kontextabhängige Hotkeys.
Um die obigen Beispiele zu testen, kopieren Sie sie in eine neue Textdatei, z. B. "Override.ahk", und starten Sie die Datei.