Häufig gestellte Fragen (FAQ)

Sprachsyntax

Allgemeine Problembehandlung

Allgemeine Aufgaben

Hotkeys, Hotstrings und Neubelegung

Sprachsyntax

Wann werden Anführungszeichen bei Befehlen und ihren Parametern benutzt?

Anführungszeichen (") haben nur innerhalb von Ausdrücken eine besondere Bedeutung. Überall woanders werden sie als normale Zeichen behandelt. Wenn ein Skript allerdings ein Programm oder Dokument startet, müssen eventuell vorhandene Befehlszeilenparameter, die Leerzeichen enthalten, in Anführungszeichen gesetzt sein, damit das Betriebssystem sie richtig erkennen kann. Zum Beispiel: Run, Notepad.exe "C:\Meine Dateien\Adressenliste.txt".

Wann genau werden Variablen mit Prozentzeichen umschlossen (%)?

Variablennamen werden immer mit Prozentzeichen umschlossen, außer in den unteren Fällen, die fett hervorgehoben sind:

1) Bei Parametern, die Eingabe- oder Ausgabevariablen sind: StringLen, AusgabeVar, EingabeVar
2) Auf der linken Seite einer Zuweisung: Var = 123abc
3) Auf der linken Seite einer traditionellen if-Anweisung (kein Ausdruck): If Var1 < %Var2%
4) Überall in Ausdrücken. Zum Beispiel:

If (Var1 <> Var2)
    Var1 := Var2 + 100

Wann sollten Prozentzeichen und Kommas mit einem Escapezeichen versehen werden?

Direkt geschriebene Prozentzeichen müssen mit einem Escapezeichen versehen werden, indem man ein Akzent / umgekehrtes Häkchen davorsetzt. Zum Beispiel: MsgBox Der aktuelle Prozentwert liegt bei 25`%. Direkt geschriebene Kommas müssen auch mit einem Escapezeichen versehen werden (`,), es sei denn, sie werden in einer MsgBox oder im letzten Parameter eines Befehls verwendet (in diesem Fall ist das umgekehrte Häkchen zulässig, aber nicht notwendig).

Sind Kommas oder Prozentzeichen innerhalb eines Ausdrucks in Anführungszeichen gesetzt, ist das umgekehrte Häkchen zulässig, aber nicht notwendig. Zum Beispiel: Var := "15%".

Allgemeine Problembehandlung

Was kann ich tun, wenn AutoHotkey nicht installiert wird?

7-Zip-Fehler: Verwenden Sie 7-Zip oder ein kompatibles Programm, um die Setup-Dateien aus der Installer-EXE zu extrahieren und starten Sie dann setup.exe oder Installer.ahk (ziehen Sie Installer.ahk mit gedrückter Maustaste auf AutoHotkeyU32.exe und lassen Sie los).

Der AutoHotkey-Installer ist ein selbstextrahierendes 7-Zip-Archiv, das versuchen wird, die Dateien in das temporäre Benutzerverzeichnis zu entpacken und ein kompiliertes Skript zu starten. Manchmal kann es vorkommen, dass die Dateien aufgrund von Systemrichtlinien oder andere Faktoren nicht extrahiert oder ausgeführt werden dürfen. Dabei wird üblicherweise ein "7-Zip-Fehler" angezeigt. In so einem Fall könnte es helfen, die Dateien manuell in ein anderes Verzeichnis zu extrahieren.

Setup hängt: Erscheint das Setup-Fenster ohne Inhalt oder überhaupt nicht, können Sie eine oder beide folgende Methoden ausprobieren:

Sonstiges: Die obigen Vorschläge decken die häufigsten Probleme. Weitere Unterstützung finden Sie im Forum.

Warum werden einige Zeilen in meinem Skript nie ausgeführt?

Jede Zeile, die unmittelbar beim Starten des Skripts ausgeführt werden soll, muss ganz oben im Skript vorkommen und vor dem ersten Hotkey, Hotstring oder Return stehen. Siehe automatischer Ausführungsbereich für weitere Details.

Die erste auszuführende Zeile eines Hotkeys darf nicht neben der Definition stehen, sondern muss darunter erfolgen. Zum Beispiel:

#space::  ; WIN+LEERTASTE
Run Notepad
WinWaitActive Unbenannt - Editor
WinMaximize
return

Warum funktioniert mein Skript nicht in Windows xxx, obwohl es in einer vorherigen Version lief?

Dieses Problem tritt in mehreren Varianten auf:

Wenn Sie auf ein anderes Betriebssystem gewechselt haben, kann es sein, dass sich auch etwas geändert hat, das Einfluss auf Ihr Skript haben kann. Wenn Sie zum Beispiel einen neuen Computer haben, können andere Treiber oder Software installiert sein. Wenn Sie AutoHotkey auf eine neue Version aktualisiert haben, finden Sie heraus, welche Version zuvor installiert war, und überprüfen Sie dann die Changelog und Kompatibilitätshinweise auf Änderungen, die Ihr Skript stören könnten.

SoundGet, SoundSet, SoundGetWaveVolume und SoundSetWaveVolume verhalten sich in Windows Vista und höher anders als in früheren Versionen von Windows. Zum einen sind die Gerätenummern unterschiedlich angeordnet und zum anderen können Komponenten fehlen. Das Verhalten richtet sich nach den Audio-Treibern, die zwangsläufig anders sind als die von XP. Mit dem Soundkartenanalyse-Skript können die korrekten Gerätenummern ermitteln werden.

Siehe auch die folgende Frage:

Wie umgehe ich Probleme, die von der Benutzerkontensteuerung (UAC) erzeugt werden?

Die Benutzerkontensteuerung (UAC) verursacht häufig Probleme, besonders wenn man von Windows XP/Vista/7 zu Vista/7/8/10 wechselt. UAC gibt es seit Windows Vista und ist standardmäßig auf neuen Systemen oder Installationen aktiviert. In Windows 8 und höher lässt sich UAC schwieriger deaktivieren.

Aus Sicherheitsgründen verhindert UAC, dass "höhergestellte" Programme (also Programme mit Administratorrechten) von anderen nicht-höhergestellten Programmen automatisiert werden können. Hotkeys werden auch blockiert; zum Beispiel kann ein nicht-höhergestelltes Programm die Tastatureingaben eines höhergestellten Programms nicht ausspionieren.

UAC könnte sich auch negativ auf SendPlay und BlockInput auswirken.

Es gibt folgende Übergangslösungen:

Ich kann mein Skript nicht über das Infobereichssymbol editieren, weil es sich aufgrund eines Fehlers nicht starten lässt. Was soll ich tun?

Sie müssen den Fehler in Ihrem Skript beheben, wenn Sie das Infobereichssymbol zurück haben wollen. Aber zuerst müssen Sie die Skript-Datei finden.

Suchen Sie AutoHotkey.ahk in den folgenden Verzeichnissen:

Führt man die ausführbare Hauptdatei von AutoHotkey direkt aus, wird automatisch ein Skript gestartet, das den gleichen Namen trägt. Wenn man beispielsweise AutoHotkeyU32.exe ausführt, muss man nach AutoHotkeyU32.ahk suchen. Beachten Sie, dass je nach Systemeinstellung die .ahk-Endung versteckt sein könnte, allerdings sollte die Datei ein Symbol haben, das wie folgt aussieht: [H]

Ein Skript editiert man üblicherweise, indem man die Datei mit der rechten Maustaste anklickt und Edit Script auswählt. Wenn das nicht funktioniert, können Sie die Datei in einem beliebigen Texteditor öffnen.

Wenn man AutoHotkey über das Startmenü startet oder wenn man AutoHotkey.exe direkt ausführt (ohne Befehlszeilenparameter), wird nach einem Skript gesucht, das in den oben genannten Standorten vorkommt. Oder man erstellt einfach eine Skriptdatei (beliebigerName.ahk), egal wo, und führt diese stattdessen aus.

Siehe auch Befehlszeilenparameter "Skript-Dateiname" und Portabilität von AutoHotkey.exe.

Wie kann ich Fehler in meinem Code finden und beheben?

Für einfache Skripte, siehe Ein Skript debuggen. Mit MsgBox oder ToolTip können Inhalte einer Variable angezeigt werden. Für komplexe Skripte, siehe Interaktives Debuggen.

Warum kann der Run-Befehl mein Spiel oder Programm nicht ausführen?

Einige Programme müssen in ihren eigenen Verzeichnissen gestartet werden (im Zweifelsfall der sicherste Weg). Zum Beispiel:

Run, %ProgramFiles%\Beliebige Anwendung\Anwendung.exe, %ProgramFiles%\Beliebige Anwendung

Wenn man versucht, ein Programm zu starten, das im Ordner %A_WinDir%\System32 liegt, und die 32-Bit-Version von AutoHotkey auf einem 64-Bit-System benutzt, kann es passieren, dass der File System Redirector Probleme bereiten wird. Um dieses Problem zu umgehen, benutzt man stattdessen %A_WinDir%\SysNative; dieser Pfad führt zu einem virtuellen Verzeichnis, das nur 32-Bit-Programme in einem 64-Bit-System sehen können.

Warum funktionieren Hotstrings, Sends und Clicks in einigen Spielen nicht?

Einige Spiele verbieten AHK, Tasten und Mausklicks zu senden oder Pixelfarben zu lesen.

Allerdings gibt es weiter unten ein paar Alternativen, die man ausprobieren kann. Wenn sie alle fehlschlagen, könnte es sein, dass AHK nicht für Ihr Spiel geeignet ist. Manche Spiele haben Maßnahmen gegen Hacks und Cheats integriert, wie z. B. GameGuard und Hackshield. In diesem Fall besteht eine hohe Chance, dass AutoHotkey nicht funktionieren wird.

Wie kann die Performance für Spiele oder zu einem anderen Zeitpunkt verbessert werden, wenn die CPU stark belastet wird?

Sind Hotkeys, Clicks oder Sends im Skript bei starker CPU-Belastung spürbar langsamer als normal, könnte es hilfreich sein, die Priorität des Skript-Prozesses zu erhöhen. Fügen Sie dazu die folgende Zeile am Anfang des Skripts ein:

Process, Priority, , High

Mein Antivirus-Programm hat AutoHotkey oder ein kompiliertes Skript als Malware erkannt. Ist das wirklich ein Virus?

Es kann zwar nie ganz kann ausgeschlossen werden, dass die Datei infiziert ist, aber in den meisten Fällen sind solche Warnungen False-Positives (Falschmeldungen); das heißt, dass das Antivirus-Programm falsch liegt. Häufig wird vorgeschlagen, die Datei bei einem Online-Service wie virustotal oder Jotti hochzuladen und zu überprüfen, was andere Antivirus-Programme zu sagen haben. Im Zweifelsfall können Sie die Datei zum Hersteller Ihres Antivirus-Programms schicken und ihre Echtheit bestätigen lassen. Das würde auch uns und anderen AutoHotkey-Benutzern helfen, weil der Hersteller die Datei als False-Positive anerkennen und sein Produkt entsprechend anpassen würde.

False-Positives können häufiger auftreten, wenn kompilierte Skripte mit UPX (Standard in AutoHotkey 1.0, aber nicht in 1.1) oder MPRESS (optional in AutoHotkey 1.1) komprimiert sind. Da die Standardinstallation von AutoHotkey einen Kompressor nicht beinhaltet, werden kompilierte Skripte standardmäßig nicht komprimiert.

Allgemeine Aufgaben

Wo finde ich den offiziellen Build, oder ältere Versionen?

Siehe Download-Seite von AutoHotkey.

Kann ich AHK von einem USB-Laufwerk ausführen?

Siehe Portabilität von AutoHotkey.exe. Hinweis: Wenn Sie automatisch einfügende Funktionsbibliotheken verwenden, müssen AutoHotkey.exe und der Lib-Ordner eine Ebene höher sein als Ahk2Exe.exe (z. B. \AutoHotkey.exe vs \Compiler\Ahk2Exe.exe). Beachte zudem, dass Ahk2Exe seine Einstellungen in den folgenden Registry-Key speichert: HKCU\Software\AutoHotkey\Ahk2Exe.

Wie kann die Ausgabe einer Befehlszeilenoperation abgefragt werden?

Tests zeigen, dass eine temporäre Datei aufgrund von Datei-Caching sehr schnell bei relativ kleinen Ausgaben sein kann. Tatsächlich wird sie gar nicht erst auf das Laufwerk geschrieben, wenn die Datei unmittelbar nach ihrer Verwendung gelöscht wird. Zum Beispiel:

RunWait %comspec% /c dir > C:\Meine Temp-Datei.txt
FileRead, AusgabeVar, C:\Meine Temp-Datei.txt
FileDelete, C:\Meine Temp-Datei.txt

Wenn Sie temporäre Dateien vermeiden wollen (besonders wenn die Ausgabe groß ist), sollten Sie die Shell.Exec()-Methode verwenden, die in den Beispielen des Run-Befehls zu finden ist.

Wie kann ein Skript andere Skripte schließen, pausieren oder sperren?

Zunächst ein Beispiel, das ein anderes Skript schließt:

DetectHiddenWindows On  ; Ermöglicht die Erkennung des versteckten Hauptfensters eines Skripts.
SetTitleMatchMode 2  ; Verhindert, dass unten der vollständige Pfad der Datei angegeben werden muss.
WinClose Skript-Dateiname.ahk - AutoHotkey  ; Verwenden Sie hier den Namen Ihres Skripts (Groß-/Kleinschreibung-sensitiv).

Um ein anderes Skript zu sperren oder zu pausieren, ersetzt man die letzte Zeile oben mit eine der folgenden Zeilen:

PostMessage, 0x111, 65305,,, Skript-Dateiname.ahk - AutoHotkey  ; Suspend (Sperren).
PostMessage, 0x111, 65306,,, Skript-Dateiname.ahk - AutoHotkey  ; Pause.

Wie kann eine sich wiederholende Aktion gestoppt werden, ohne das Skript beenden zu müssen?

Um bei Tastendruck das ganze Skript zu pausieren oder fortzusetzen, weist man dem Pause-Befehl einen Hotkey zu. Zum Beispiel:

^!p::Pause  ; Drücken Sie STRG+ALT+P, um die Pause zu starten. Drücken Sie es nochmal, um die Pause zu beenden.

Um eine sich wiederholende Aktion innerhalb einer Schleife zu stoppen, kann man den folgenden Hotkey verwenden, der seine eigene wiederholende Aktion sowohl startet als auch beendet. Das heißt, dass durch einmaliges Drücken des Hotkeys die Schleife begonnen und durch nochmaliges Drücken diese wieder beendet wird.

#MaxThreadsPerHotkey 3
#z::  ; WIN+Z (passe diesen Hotkey nach Belieben an).
#MaxThreadsPerHotkey 1
if WinZLaufenLassen  ; Bedeutet, dass ein darunterliegender Thread bereits die untere Schleife ausführt.
{
    WinZLaufenLassen := false  ; Signalisiert dem Thread, die Schleife zu stoppen.
    return  ; Beendet diesen Thread, so dass der darunterliegende fortgesetzt wird und die vorgenommene Änderung der oberen Zeile sehen kann.
}
; Ansonsten:
WinZLaufenLassen := true
Loop
{
    ; Die nächsten vier Zeilen sind Aktionen, die mehrfach ausgeführt werden sollen (passe sie nach Belieben an):
    ToolTip, Drücken Sie erneut WIN+Z, um das hier zu stoppen.
    Sleep 1000
    ToolTip
    Sleep 1000
    ; Lassen Sie den Rest aber unverändert.
    if not WinZLaufenLassen ; Der Benutzer hat die Schleife durch erneutes Drücken von WIN+Z gestoppt.
        break  ; Schleife unterbrechen.
}
WinZLaufenLassen := false  ; Zurücksetzen, damit der Hotkey wieder verwendet werden kann.
return

Wie kann die kontextabhängige Hilfe für AutoHotkey-Befehle in einem beliebigen Editor verwendet werden?

Rajat hat dafür dieses Skript erstellt.

Wie kann man feststellen, dass eine Webseite fertig geladen ist?

Für den Internet Explorer ist das Skript-Beispiel von www.autohotkey.com/forum/topic19256.html (in Verbindung mit DllCall und COM) wahrscheinlich die zuverlässigste Methode. Außerdem kann man den Inhalt der Adress- und Statusleiste abrufen, wenn man die Methode von www.autohotkey.com/forum/topic19255.html verwendet.

Ältere, weniger zuverlässige Methode: Das folgende Beispiel funktioniert bei fast allen Webseiten des Internet Explorers. Eine ähnliche Methode könnte auch bei anderen Browsern funktionieren:

Run, www.yahoo.com
MouseMove, 0, 0  ; Verhindert, dass in der Statusleiste aufgrund der Mausposition ein Link angezeigt wird.
WinWait, Yahoo! -
WinActivate
StatusBarWait, Done, 30
if ErrorLevel
   MsgBox Die Wartezeit ist abgelaufen oder das Fenster wurde geschlossen. 
else
   MsgBox Die Webseite wurde geladen.

Wie können Datums- oder Zeitwerte verglichen oder geändert werden?

Der EnvAdd-Befehl kann eine bestimmte Menge an Tagen, Stunden, Minuten oder Sekunden im YYYYMMDDHH24MISS-Format addieren oder subtrahieren. Das folgende Beispiel subtrahiert 7 Tage von der angegebenen Zeit: EnvAdd, VariableMitZeitstempel, -7, days.

Um die Zeitmenge zwischen zwei Datum- oder Zeitwerten zu ermitteln, sollten Sie sich das Beispiel in EnvSub anschauen. Die interne Variable A_Now enthält die aktuelle Ortszeit. Außerdem gibt es noch andere interne Datum/Zeit-Variablen, sowie auch den FormatTime-Befehl, um eine benutzerdefinierte Datum/Zeit-Zeichenkette erstellen zu können.

Wie kann ich das aktuelle Datum und/oder Zeit senden?

Mit FormatTime oder internen Datum- und Zeit-Variablen.

Wie kann ich Text zu einem Fenster senden, das weder aktiv noch sichtbar ist?

Mit ControlSend.

Wie kann Winamp auch dann gesteuert werden, wenn es nicht aktiv ist?

Siehe Winamp automatisieren.

Wie können die Namen der MsgBox-Buttons geändert werden?

Hier dazu ein Beispiel.

Wie kann ich den Standard-Texteditor ändern, den man via Kontextmenü oder Infobereichssymbol öffnen kann?

Im Beispiel-Bereich von Edit finden Sie ein Skript, mit dem der Standard-Texteditor geändert werden kann.

Wie kann ich die Inhalte der Steuerelemente in ihre zugeordneten Variablen speichern?

Mit Gui Submit. Zum Beispiel:

Gui, Add, Text,, Tragen Sie etwas Text ein und drücken Sie Submit:
Gui, Add, Edit, vZugeordneteVar
Gui, Add, Button,, Submit
Gui, Show
Return

ButtonSubmit:
Gui, Submit, NoHide
MsgBox, Inhalt des Edit-Steuerelements: %ZugeordneteVar%
Return

Kann ich mit AHK etwas zeichnen?

Siehe GDI+ standard library von tic. Mit Gui kann auch etwas gezeichnet werden, allerdings auf sehr rudimentärer Weise.

Wie kann ich eine Aktion starten, wenn ein Fenster erscheint, geschlossen oder [in]aktiv wird?

Mit WinWait, WinWaitClose oder WinWait[Not]Active.

Es gibt auch vom Benutzer erstellte Lösungen wie OnWin.ahk und [How to] Hook on to Shell to receive its messages (wie man auf Shell zugreifen kann, um dessen Meldungen abzurufen).

Hotkeys, Hotstrings und Neubelegung

Wie können meine Hotkeys und Hotstrings automatisch bei jedem PC-Start ausgeführt werden?

Es gibt einen Ordner im Startmenü, der sich "Autostart" nennt. Fügen Sie eine Verknüpfung zu Ihrem Skript in diesen Ordner ein, wird Ihr Skript jedes Mal gestartet, wenn Sie Ihr PC hochfahren. Um eine Verknüpfung zu erstellen:

  1. Finden Sie die Skript-Datei, markieren Sie sie und drücken Sie STRG+C.
  2. Klicken Sie mit der rechten Maustaste auf Start (üblicherweise in der linken unteren Ecke des Bildschirms) oder im Startmenü auf "Alle Programme" (falls das neue Design aktiv ist) und wählen Sie "Öffnen - Alle Benutzer" aus.
  3. Navigieren Sie zum Autostart-Ordner innerhalb des Programmordners.
  4. Wählen Sie über die Menüleiste Bearbeiten -> Verknüpfung einfügen aus. Die Verknüpfung des Skripts sollte nun im Autostart-Ordner sein.

Ich habe Schwierigkeiten, meine Maustasten als Hotkeys zu definieren. Irgendwelche Hinweise?

Die linke und rechte Maustaste sollten normal zuweisbar sein (zum Beispiel wäre #LButton:: der Hotkey WIN+MAUSTASTE-LINKS). Die mittlere Maustaste und das Mausrad sollten auch normal zuweisbar sein, außer bei Mäusen, deren Tasten direkt vom Treiber gesteuert werden.

Die vierte (XButton1) und fünfte Maustaste (XButton2) sind möglicherweise auch zuweisbar, sofern Ihr Maustreiber diese Klicks für das System erkennbar macht. Wenn das System diese Tasten nicht erkennen kann (oder wenn neben den 5 Haupttasten noch andere Maustasten erkennbar gemacht werden sollen), kann man versuchen, die Maus so einzustellen, dass sie Tastatureingaben sendet, wenn man bestimmte Maustasten drückt (häufig via mitgelieferte Software, die in der Systemsteuerung oder im Startmenü zu finden ist). Danach könnte man solche Tastatureingaben in einem Skript als Hotkey definieren. Wenn man beispielsweise die vierte Maustaste STRG+F1 senden lässt, kann man sie mithilfe von ^F1:: im Skript indirekt als Hotkey definieren.

Wenn das System die vierte und fünfte Maustaste einer 5-Tasten-Maus nicht erkennen kann, kann man versuchen, den Maustreiber mit dem Standardtreiber des Betriebssystems zu ersetzen. Das setzt voraus, dass so ein Treiber für Ihre Maus vorhanden ist und dass Sie ohne den mitgelieferten Features von der Software leben können.

Wie können TAB und LEERTASTE als Hotkeys definiert werden?

Benutzen Sie die englischen Namen von diesen Tasten (Tab und Space). Zum Beispiel wäre #Space WIN+LEERTASTE und ^!Tab STRG+ALT+TAB.

Wie können Tastatur- oder Maustasten neu belegt werden, so dass sie zu anderen Tasten werden?

Das wird auf der Seite "Neubelegung von Tasten" beschrieben.

Wie kann ich einen doppelten Tastendruck oder Mausklick erkennen?

Verwenden Sie die internen Variablen für Hotkeys wie folgt:

~Ctrl::
    if (A_ThisHotkey = A_PriorHotkey && A_TimeSincePriorHotkey < 200)
        MsgBox Doppeldruck
return

Wie kann ein Hotkey oder Hotstring exklusiv für ein bestimmtes Programm gemacht werden? Mit anderen Worten möchte ich eine bestimmte Taste dazu bringen, etwas anderes zu tun, wenn ein bestimmtes Fenster aktiv ist.

Die bevorzugte Methode ist #IfWinActive. Zum Beispiel:

#IfWinActive, ahk_class Notepad
^a::MsgBox Sie haben STRG+A gedrückt, während der Editor aktiv ist.

Wie kann man eine sonst funktionslose Präfix-Taste dazu bringen, ihre ursprüngliche Funktion durchzuführen?

Das folgende Beispiel macht Numpad0 zu einer Präfix-Taste:

Numpad0 & Numpad1::MsgBox, Sie haben Numpad1 gedrückt, während Sie Numpad0 gedrückt halten.

Um Numpad0 nun dazu zu bringen, immer dann eine echte Numpad0-Tastatureingabe zu senden, wenn sie nicht zum Starten eines Hotkeys wie oben benötigt wird, fügen Sie den folgenden Hotkey hinzu:

 $Numpad0::Send, {Numpad0}

Das $-Präfix ist notwendig, um eine Warnmeldung im Falle einer Endlosschleife zu unterdrücken (da der Hotkey "sich selbst sendet"). Darüber hinaus wird die obere Aktion erst ausgelöst, wenn die Taste losgelassen wird.

Wie können die systeminternen Tastenkürzel wie WIN+U (Eingabehilfe) und WIN+R (Ausführen) geändert oder deaktiviert werden?

Hier dazu einige Beispiele.

Kann ich Platzhalter oder reguläre Ausdrücke in Hotstrings verwenden?

Verwenden Sie das Skript von polyethene (Beispiele sind enthalten).

Wie kann ich einen Hotkey verwenden, der nicht auf meinem Tastaturlayout vorkommt?

Siehe Sondertasten.

Meine Tastatur hat eine besondere 000-Taste. Ist es möglich, diese Taste in ein Hotkey umzuwandeln?

Ja. Dieses Beispiel-Skript wandelt die 000-Taste in eine Gleichheitstaste um. Diese Aktion kann geändert werden, wenn die Zeile Send, = je nach Bedarf mit einer anderen Zeile ersetzt wird.