AutoHotkey macht nichts von selbst; es braucht ein Skript, das ihm sagt, was es tun soll. Ein Skript ist lediglich eine reine Textdatei mit der Dateiendung .ahk
, die Anweisungen für das Programm enthält - so ähnlich wie eine Konfigurationsdatei, nur viel mächtiger. Das Mindeste, was ein Skript tun kann, ist eine einzelne Aktion auszuführen und sich dann zu beenden. Die meisten Skripte definieren jedoch eine Reihe von Hotkeys, von denen jeder eine oder mehrere Aktionen ausführt, sobald er gedrückt wird.
#z::Run "https://www.autohotkey.com" ; WIN+Z ^!n:: ; STRG+ALT+N { if WinExist("Unbenannt - Editor") WinActivate else Run "Notepad" }
Tipp: Wenn Ihr Browser dies unterstützt, können Sie jeden Codeblock (wie den obigen) als Skriptdatei herunterladen, indem Sie den Mauszeiger über den Codeblock bewegen und oben rechts auf die Schaltfläche ↓ klicken.
Es gibt mehrere Möglichkeiten, eine Skriptdatei zu erstellen:
.ahk
. Auf manchen Systemen müssen Sie den Namen in Anführungszeichen setzen, um sicherzustellen, dass der Editor keine weitere Dateiendung (wie z.B. .txt) hinzufügt.
Achten Sie darauf, die Datei unter UTF-8 mit BOM zu speichern, wenn ASCII-fremde Zeichen enthalten sind. Weitere Informationen finden Sie in der FAQ.
.ahk
nicht zu löschen, falls sie sichtbar ist)..ahk
-Endung) und klicken Sie auf Create (erstellen) oder Edit (bearbeiten). In diesem Fenster können Sie die Vorlage, mit der das Skript erstellt wird, und den Speicherort konfigurieren. Außerdem können Sie diese bei Bedarf als Standard festlegen.Weitere Informationen zum Schreiben eines Skripts finden Sie unter Skriptsprache.
Klicken Sie mit der rechten Maustaste auf die Skriptdatei und wählen Sie Edit Script aus, um ein Skript zum Editieren zu öffnen. Wenn das Skript bereits ausgeführt wird, können Sie die Edit-Funktion verwenden oder auf das Tray-Symbol des Skripts rechtsklicken und Edit Script auswählen. Wenn Sie noch keinen Standardeditor ausgewählt haben, werden Sie dazu aufgefordert. Andernfalls ändern Sie Ihren Standardeditor über die Editor settings im Dash. Natürlich können Sie jederzeit einen Texteditor starten und dann das Skript wie jede andere Textdatei öffnen.
Wenn Sie ein Skript editiert haben, müssen Sie es ausführen oder neu laden, damit die Änderungen wirksam werden. Ein laufendes Skript kann in der Regel über das Tray-Menü neu geladen werden.
Sofern AutoHotkey installiert ist, gibt es mehrere Möglichkeiten, ein Skript auszuführen:
Die meisten Skripte zeigen ihren Effekt nur während der Ausführung. Verwenden Sie das Tray-Menü oder die ExitApp-Funktion, um ein Skript zu beenden. Skripte werden auch zur Beendigung gezwungen, wenn Windows heruntergefahren wird. Um ein Skript automatisch nach der Anmeldung des Benutzers zu starten, platzieren Sie einfach eine Verknüpfung der Skriptdatei im Autostart-Ordner.
Skripte können auch kompiliert werden, d.h. ein Skript kann mit einer AutoHotkey-Binärdatei kombiniert werden, um eine eigenständige EXE-Datei zu erstellen.
Standardmäßig fügt jedes Skript ein eigenes Symbol in den Infobereich der Taskleiste (auch Tray genannt) ein.
Das Tray-Symbol sieht üblicherweise wie folgt aus:
Das Standard-Tray-Symbol. | |
Das Skript ist pausiert. | |
Das Skript ist suspendiert. | |
Das Skript ist pausiert und suspendiert. |
Rechtsklicken Sie auf das Tray-Symbol, um das Tray-Menü anzuzeigen, das standardmäßig die folgenden Optionen enthält:
Standardmäßig bewirkt ein Doppelklick auf das Tray-Symbol, dass das Hauptfenster des Skripts angezeigt wird.
Das Verhalten und Aussehen des Tray-Symbols und -Menüs können angepasst werden:
Das Hauptfenster des Skripts ist normalerweise versteckt, kann aber über das Tray-Symbol oder eine der unten aufgeführten Funktionen sichtbar gemacht werden, um Zugriff auf Informationen zu erhalten, die für das Debuggen des Skripts nützlich sind. Die Menüpunkte im View-Menü beeinflussen, was im Hauptfenster angezeigt wird:
Bekanntes Problem: Die Tastaturkurzbefehle der Menüpunkte funktionieren nicht, wenn das Skript ein Mitteilungsfenster oder ein anderes Dialogfenster anzeigt.
Die interne Variable A_ScriptHwnd enthält die HWND-Nummer (eindeutige ID) des Hauptfensters.
Wenn dieses Fenster mit WinClose geschlossen wird (auch von einem anderen Skript aus), wird das Skript beendet, aber die meisten anderen Methoden verstecken nur das Fenster und lassen das Skript weiterlaufen.
Wenn das Hauptfenster minimiert wird, wird es automatisch versteckt. Dies ist notwendig, um zu verhindern, dass untergeordnete Fenster (z.B. GUI-Fenster oder einige Dialogfenster) automatisch minimiert werden, und um zu bewirken, dass die Schaltfläche in der Taskleiste des Hauptfensters versteckt wird. Um das Hauptfenster stattdessen normal minimieren zu lassen, überschreiben Sie das Standardverhalten mit OnMessage. Zum Beispiel:
; Dies verhindert das Verstecken des Hauptfensters beim Minimieren: OnMessage 0x0112, AutoMinimierenVerhindern ; WM_SYSCOMMAND = 0x0112 OnMessage 0x0005, AutoMinimierenVerhindern ; WM_SIZE = 0x0005 ; Dies verhindert das automatische Minimieren untergeordneter GUI-Fenster (außer Dialogfenster): OnMessage 0x0018, AutoMinimierenVerhindern Persistent AutoMinimierenVerhindern(wParam, lParam, uMsg, hwnd) { if (uMsg = 0x0112 && wParam = 0xF020 && hwnd = A_ScriptHwnd) { ; SC_MINIMIZE = 0xF020 WinMinimize return 0 ; Das Verstecken des Hauptfensters verhindern. } if (uMsg = 0x0005 && wParam = 1 && hwnd = A_ScriptHwnd) ; SIZE_MINIMIZED = 1 return 0 ; Das Verstecken des Hauptfensters verhindern. if (uMsg = 0x0018 && lParam = 1) ; SW_PARENTCLOSING = 1 return 0 ; Das Verstecken des untergeordneten Fensters verhindern. }
Der Titel des Hauptfensters wird von #SingleInstance- und Reload-Mechanismen verwendet, um andere Instanzen desselben Skripts zu identifizieren. Das Ändern des Titels verhindert, dass das Skript als solches identifiziert wird. Welcher Titel standardmäßig verwendet wird, hängt davon ab, wie das Skript geladen wurde:
Geladen aus | Titelausdruck | Beispiel |
---|---|---|
.ahk-Datei | A_ScriptFullPath " - AutoHotkey v" A_AhkVersion | E:\Mein Skript.ahk - AutoHotkey v1.1.33.09 |
Hauptressource (kompiliertes Skript) | A_ScriptFullPath | E:\Mein Skript.exe |
Jede andere Ressource | A_ScriptFullPath " - " A_LineFile | E:\Mein AutoHotkey.exe - *INTERNES-TOOL.AHK |
Der folgende Code zeigt, wie der Standardtitel mit dem Skript selbst ermittelt werden kann (wobei der tatsächliche Titel mit WinGetTitle abgerufen werden kann):
Titel := A_ScriptFullPath if !A_IsCompiled Titel .= " - AutoHotkey v" A_AhkVersion ; Für ein korrektes Ergebnis muss dies von der auszuführenden Ressource ausgewertet werden, ; nicht von einem #Include (es sei denn, das #Include wurde mit Ahk2Exe in das Skript inkludiert): else if SubStr(A_LineFile, 1, 1) = "*" && A_LineFile != "*#1" Titel .= " - " A_LineFile
Skripte können in eine Standard-AutoHotkey-EXE-Datei eingebettet werden, indem sie mit dem Ahk2Exe-Compiler als Win32-Ressourcen (RCDATA) hinzugefügt werden. Zusätzliche Skripte können mit der AddResource-Compilerdirektive hinzugefügt werden.
Ein eingebettetes Skript kann auf der Befehlszeile oder mit #Include durch Angabe eines Sternchens (*) gefolgt vom Ressourcennamen angegeben werden. Handelt es sich um eine Integer-ID, muss der Ressourcenname ein Rautezeichen (#) gefolgt von einer Dezimalzahl sein.
Das Programm kann automatisch Skriptcode aus den folgenden Ressourcen laden, wenn diese in der Datei vorhanden sind:
ID | Angabe | Verwendung |
---|---|---|
1 | *#1 | Dies ist das Mittel, mit dem ein kompiliertes Skript aus einer EXE-Datei erstellt wird. Dieses Skript wird automatisch ausgeführt, und die meisten Befehlszeilenoptionen werden an das Skript übergeben, anstatt vom Programm interpretiert zu werden. Externe Skripte und alternativ eingebettete Skripte können mit der Befehlszeilenoption /script ausgeführt werden. |
2 | *#2 | Wenn vorhanden, wird dieses Skript automatisch vor jedem Skript, das das Programm lädt, und vor jeder mit /include angegebenen Datei "inkludiert". |
Wenn die Quelle des Hauptskripts eine eingebettete Ressource ist, agiert das Programm im Modus "kompiliertes Skript", außer dass A_AhkPath immer den Pfad der aktuellen EXE-Datei enthält (derselbe wie A_ScriptFullPath). Für andere Ressourcen als *#1 wird der Ressourcenbezeichner in den Titel des Hauptfensters eingefügt, um #SingleInstance und Reload zu unterstützen.
Wenn A_LineFile von einem Code referenziert wird, der aus einer eingebetteten Ressource stammt, enthält es ein Sternchen (*) gefolgt vom Ressourcennamen.
Unter Befehlszeilenparameter an ein Skript übergeben finden Sie Informationen zur Befehlszeilennutzung und eine Liste von Befehlszeilenoptionen, die das Verhalten des Programms beeinflussen.
Zum Starten eines .ahk-Skripts ist nur die Datei AutoHotkey.exe erforderlich.
Die Umbenennung von AutoHotkey.exe ändert auch, welches Skript standardmäßig ausgeführt wird, was eine Alternative zum Kompilieren des Skripts für die Verwendung auf einem Computer ohne installiertes AutoHotkey ist. Zum Beispiel führt MeinSkript.exe automatisch MeinSkript.ahk aus, wenn kein Dateiname angegeben ist, kann aber auch andere Skripte ausführen.
Der Launcher ermöglicht die gleichzeitige Nutzung von v1- und v2-Skripten auf einem System mit einer einzigen Dateiendung, ohne dass eine Version bevorzugt werden muss oder unterschiedliche Methoden zum Starten von Skripten erforderlich sind. Der Launcher sucht im Skript nach Anhaltspunkten bezüglich der verwendeten Version und lokalisiert anschließend eine geeignete EXE-Datei zum Starten des Skripts.
Wenn das Skript die #Requires-Direktive enthält, sucht der Launcher nach einer EXE-Datei, die die Anforderung erfüllt. Andernfalls analysiert der Launcher optional die Syntax. Er sucht nach Mustern, die nur in einer der beiden Hauptversionen gültig sind. Einige der üblichen auffindbaren Muster sind:
MsgBox, mit Komma
, MsgBox % "kein Prozent am Ende"
und Legacy = Zuweisung
.'einfachen Anführungszeichen'
oder Fat-Arrow =>
in einem Ausdruck.Die Erkennung ist konservativ; Mehrdeutigkeit wird in der Regel ignoriert.
Wenn die Erkennung fehlschlägt, wird standardmäßig ein Menü angezeigt, das der Benutzer zum Auswählen einer Version verwenden kann. Dieses Standardverhalten kann geändert werden, so dass stattdessen entweder immer v1 oder v2 gestartet wird.
Bekannte Einschränkungen:
/****/
einzufügen, aber */
am Zeilenende nur Kommentare in v2 schließt, kann eine solche Zeile dazu führen, dass ein Großteil des Skripts ignoriert wird (sowohl vom Launcher als auch vom v1-Interpreter).xyz,
in v2 ungültig und wird daher als gültiger v1-Befehl vermutet. xyz 1
kann in v2 eine Funktionsanweisung sein, wird aber auch als gültiger v1-Befehl vermutet und daher ignoriert.Hinweis: Wenn Sie die erforderliche Version mit #Requires am Anfang der Hauptdatei deklarieren, entfällt jedwede Mehrdeutigkeit.
Der Launcher kann in der Launch-Settings-GUI aktiviert, deaktiviert oder konfiguriert werden. Die GUI selbst ist über Dash erreichbar.
Run all scripts with a specific interpreter (alle Skripte mit einem bestimmten Interpreter starten) deaktiviert den Launcher und erlaubt dem Benutzer, eine EXE-Datei auszuwählen, mit der alle Skripte gestartet werden sollen, was dem traditionellen Weg entspricht. Beachten Sie, dass die Auswahl einer v1-EXE die Ausführung der Hilfsskripte erschwert, außer über die Verknüpfung "AutoHotkey" im Startmenü.
Auto-detect version when launching script (Version beim Starten des Skripts automatisch erkennen) aktiviert den Launcher. Zusätzliche Einstellungen regeln, wie der Launcher den zu verwendenden Interpreter auswählt.
Wenn mehrere Interpreter mit der gleichen Versionsnummer gefunden werden, kann der Launcher diese nach einer vorgegebenen oder benutzerdefinierten Reihe von Kriterien in eine Rangliste einordnen. Die Kriterien können als kommagetrennte Liste von Teilzeichenketten angegeben werden, wobei jeder Teilzeichenkette ein "!" vorangestellt werden kann, um eine Übereinstimmung zu negieren. Auf Basis der übereinstimmenden Teilzeichenketten wird eine Punktzahl berechnet, wobei die ganz links befindliche Teilzeichenkette die höchste Priorität hat.
Teilzeichenketten werden mit der Beschreibung der Datei abgeglichen, mit Ausnahme von "UIA", das übereinstimmt, wenn der Dateiname "_UIA" enthält.
Zum Beispiel würde _H, 64, !ANSI
AutoHotkey_H (wenn verfügbar), 64-Bit (wenn möglich) und schließlich Unicode statt ANSI bevorzugen.
Obwohl die Launch-Settings-GUI Auswahllisten mit Optionen wie "Unicode 32-bit" bereitstellt, ist es auch möglich, manuell eine Liste von Teilzeichenketten einzutragen.
Zusätzliche (höherrangige) Kriterien können über die Befehlszeile mit der Launcher-Option /RunWith angegeben werden.
Kriterien können im Skript mit der #Requires-Direktive entweder als Bedingung (sofern die Zielversion von AutoHotkey dies unterstützt) oder als Kommentar, der mit "prefer" beginnt und mit einem Punkt oder Zeilenende endet, angegeben werden. Zum Beispiel:
#Requires AutoHotkey v1.1.35 ; prefer 64-bit, Unicode. Mehr Kommentare.
Der Installer registriert ein verstecktes Shellverb namens "launch", das den Launcher mit der Befehlszeilenoption /Launch ausführt. Dieses Verb kann wie folgt verwendet werden:
pid := RunWait('*Launch "' PfadZumSkript '"')
Im Vergleich zur Standardaktion für .ahk-Dateien:
RunWait(PfadZumSkript)
macht, was nicht wie erwartet funktionieren würde, wenn der Launcher vor dem gestarteten Skript beendet wird.Der Launcher kann explizit über die Befehlszeile ausgeführt werden, z.B. für den Fall, dass eingestellt wurde, dass .ahk-Dateien nicht standardmäßig den Launcher verwenden, oder um das Verhalten des Launchers genauer zu steuern. Wenn der Launcher kompiliert wurde, ist seine Verwendung grundsätzlich identisch mit der von AutoHotkey.exe, abgesehen von den zusätzlichen Launcher-Befehlszeilenoptionen. Andernfalls ist das Befehlszeilenformat wie folgt:
AutoHotkeyUX.exe launcher.ahk [Optionen] [Skriptdateiname] [Skriptparameter]
Normalerweise werden vollständige Pfade und Anführungszeichen für den Pfad zu AutoHotkeyUX.exe und launcher.ahk verwendet, die sich im UX-Unterverzeichnis der AutoHotkey-Installation befinden. Es kann eine entsprechende Version von AutoHotkey32.exe oder AutoHotkey64.exe anstelle von AutoHotkeyUX.exe (das nur eine Kopie ist) verwendet werden.
Optionen können eine Mischung aus den Standardoptionen und den folgenden Launcher-Optionen sein:
Option | Bedeutung |
---|---|
/Launch | Bewirkt, dass der Launcher sofort nach dem Start des Skripts beendet wird, anstatt im Hintergrund auf dessen Beendigung zu warten. Der Exitcode des Launchers ist die Prozess-ID (PID) des neuen Skriptprozesses. |
/RunWith Kriterien | Gibt zusätzliche Kriterien zur Bestimmung der EXE-Datei an, die zum Starten des Skripts verwendet werden soll. Zum Beispiel /RunWith UIA . |
/Which |
Veranlasst den Launcher zu identifizieren, welchen Interpreter er verwenden würde, und gibt diesen zurück, anstatt das Skript auszuführen. Der Exitcode des Launchers ist die Hauptversionsnummer (1 oder 2), wenn sie über #Requires oder die Syntax (wenn die Syntaxerkennung aktiviert ist) identifiziert wurde, andernfalls 0. Stdout erhält die folgenden UTF-8-Zeichenketten, die jeweils mit
Zukünftig könnten weitere Zeilen zurückgegeben werden. |
Dash bietet Zugriff auf Hilfsskripte und Dokumentation. Es kann nach der Installation über die "AutoHotkey"-Verknüpfung im Startmenü oder durch direktes Starten von UX\ui-dash.ahk im Installationsverzeichnis geöffnet werden. Momentan ist es nicht viel mehr als ein Menü mit den folgenden Menüpunkten, aber es könnte jederzeit erweitert werden, um Einstellmöglichkeiten für aktive Skripte oder andere praktische Funktionen bereitzustellen.
Beachten Sie, dass Dash zwar über die Verknüpfung im Startmenü gestartet wird, aber wenn es an die Taskleiste (oder an das Startmenü in Windows 7 oder 10) angeheftet ist, enthält die Sprungliste alle zuletzt mit den Shellverben open, runas oder UIAccess gestarteten Skripte (die normalerweise über das Explorer-Kontextmenü oder durch Doppelklick auf eine Datei aufgerufen werden). Skripte können für einen schnellen Zugriff angeheftet werden.
Die New-Script-GUI kann über Dash oder durch Rechtsklick auf einen Ordner im Explorer und Auswählen von Neu → AutoHotkey Script aufgerufen werden. Die GUI kann verwendet werden, um eine neue Skriptdatei aus einer vorinstallierten oder benutzerdefinierten Vorlage zu erstellen oder um eine Vorlage optional zur Bearbeitung zu öffnen.
Wenn Sie auf eine Vorlage in der Liste rechtsklicken, stehen Ihnen die folgenden Optionen zur Verfügung:
HKCU\Software\AutoHotkey\New\HideTemplate
.Standardmäßig wird die GUI nach dem Erstellen einer Datei geschlossen, es sei denn, die STRG-Taste wird gedrückt gehalten.
Weitere Einstellungen können über die Schaltfläche "Settings" unten links in der GUI vorgenommen werden:
Vorlagendateien werden aus dem Ordner UX\Templates (vorinstallierte Vorlagen) und dem Ordner %A_MyDocuments%\AutoHotkey\Templates (benutzerdefinierte Vorlagen) geholt, wobei zu beachten ist, dass eine benutzerdefinierte Vorlage eine vorinstallierte Vorlage gleichen Namens überschreibt. Wenn die Datei %A_WinDir%\ShellNew\Template.ahk existiert, wird sie als "Legacy" angezeigt und kann durch eine benutzerdefinierte Vorlage gleichen Namens überschrieben werden.
Jede Vorlage kann wie folgt eine INI-Sektion enthalten:
/* [NewScriptTemplate] Description = Beschreibung Execute = true|false|1|0 */
Wenn die INI-Sektion wie oben gezeigt mit /*
beginnt und mit */
endet, ist sie nicht in der erstellten Datei enthalten.
Description ist optional. Die Beschreibung wird in der GUI zusätzlich zum Dateinamen angezeigt.
Execute ist optional. Wenn dies auf true oder 1 gesetzt ist, wird das Vorlagenskript mit zusätzlichen Informationen ausgeführt: A_Args[1]
enthält den Pfad der zu erstellenden Datei und A_Args[2]
enthält entweder "Create" oder "Edit", je nachdem, auf welche Schaltfläche der Benutzer geklickt hat. Vom Vorlagenskript wird erwartet, dass es die Datei erstellt und sie ggf. zur Bearbeitung öffnet. Wenn das Vorlagenskript andere Dateien via #Include
einbinden muss, platzieren Sie diese in einem Unterverzeichnis, um zu verhindern, dass sie in der Vorlagenliste angezeigt werden.
Dieser Installer und die zugehörigen Skripte sind so konzipiert, dass mehrere Versionen von AutoHotkey parallel existieren können. Der Installer bietet nur sehr wenige Optionen, da die meisten Dinge nach der Installation konfiguriert werden können. Bei der Installation müssen nur die folgenden Entscheidungen getroffen werden:
Standardmäßig installiert der Installer das Programm in "%A_ProgramFiles%\AutoHotkey" für alle Benutzer. Dies wird empfohlen, da die UI-Access-Option voraussetzt, dass das Programm unter "Programme" installiert ist. Sollte der Installer noch nicht mit Adminrechten laufen, wird er versuchen, seine Rechte zu erhöhen, sobald die Install-Schaltfläche angeklickt wird, was durch das Schildsymbol auf der Schaltfläche angezeigt wird.
Installationen für den aktuellen Benutzer erfordern keine Adminrechte, solange der Benutzer Schreibrechte für das ausgewählte Verzeichnis hat. Das Standardverzeichnis für solche Installationen ist "%LocalAppData%\Programme\AutoHotkey".
Es gibt zwei Möglichkeiten, v1 und v2 zusammen zu installieren:
/install
-Option verwendet werden. Jede Version wird in einem eigenen Unterverzeichnis installiert.Die Ausführung eines Installers für v1.1.34.02 oder älter (oder einer benutzerdefinierten Installation mit v1.1.34.03 oder neuer) überschreibt einige der vom v2-Installer gesetzten Registry-Werte, z.B. die Versionsnummer, den Uninstaller-Eintrag und Teile der Dateitypregistrierung. Dabei wird auch der v1-Uninstaller registriert, der nicht in der Lage ist, beide Versionen korrekt zu deinstallieren. Um v2 neu zu registrieren, verwenden Sie erneut einen v2-Installer oder führen Sie UX\install.ahk mit AutoHotkey32.exe oder AutoHotkey64.exe aus.
Im Gegensatz zu einer v1-Installation wird beim Installieren keine Standardversion ausgewählt. Dies wird stattdessen dynamisch vom Launcher gehandhabt und kann benutzerspezifisch konfiguriert werden.
Um das Programm direkt in ZIEL (ein Verzeichnis) zu installieren, verwenden Sie die Befehlszeilenoption /installto
oder /to
(beide sind untereinander austauschbar), wie unten gezeigt, ausgehend vom Quellverzeichnis. Verwenden Sie entweder eine heruntergeladene setup.exe oder Dateien, die aus einer heruntergeladenen ZIP-Datei oder einer anderen Quelle entpackt wurden.
AutoHotkey_setup.exe /installto "%ZIEL%"
AutoHotkey32.exe UX\install.ahk /to "%ZIEL%"
Um eine zusätzliche Version aus QUELLE (möglichst ein Verzeichnis mit AutoHotkey*.exe-Dateien) zu installieren, führen Sie folgendes aus, ausgehend vom aktuellen Installationsverzeichnis (passen Sie den Pfad von AutoHotkey32.exe nach Bedarf an):
AutoHotkey32.exe UX\install.ahk /install "%QUELLE%"
Die vollständige Befehlszeichenkette für oben wird als InstallCommand unter HKLM\Software\AutoHotkey
oder HKCU\Software\AutoHotkey
registriert, mit %1
als Platzhalter für das Quellverzeichnis. Die Verwendung dieses Registry-Wertes kann zukunftssicherer sein.
Die aktuelle Installation kann wie folgt neu registriert werden:
AutoHotkey32.exe UX\install.ahk
Die aktuelle Installation kann wie folgt deinstalliert werden:
AutoHotkey32.exe UX\install.ahk /uninstall
Alternativ können Sie auch den QuietUninstallString-Wert von einem der folgenden Registry-Schlüssel lesen und ausführen:
HKLM\Microsoft\Windows\CurrentVersion\Uninstall\AutoHotkey HKCU\Microsoft\Windows\CurrentVersion\Uninstall\AutoHotkey
Verwenden Sie die Befehlszeilenoption /silent
, um Warn- oder Bestätigungsfenster zu unterdrücken und zu verhindern, dass Dash nach Abschluss der Installation angezeigt wird. Die folgenden Aktionen werden dann automatisch und ohne Warnung ausgeführt:
Der v2-Installer bietet nicht die Option, die Schaltflächen der Taskleiste voneinander zu trennen. Bisher wurde dies erreicht, indem jede AutoHotkey-EXE als Host-Applikation (IsHostApp) registriert wurde, aber dieser Ansatz hat Einschränkungen und ist weniger einfach zu handhaben, wenn mehrere Versionen installiert werden können. Stattdessen sollte jedes Skript den AppUserModelID-Wert seines Prozesses oder seiner Fenster setzen, um die Gruppierung zu steuern.
Bei der Installation unter "Programme" erstellt der Installer einen zusätzlichen Satz von AutoHotkey-EXE-Dateien, mit denen einige häufige UAC-bezogene Probleme umgangen werden können. Diese Dateien enden mit "_UIA.exe". Wenn eine dieser UIA.EXE-Dateien von einem Administrator zum Starten eines Skripts verwendet wird, kann das Skript mit Fenstern von höherberechtigten Programmen interagieren, ohne dass das Skript selbst mit solchen Rechten laufen muss.
Der Installer macht folgendes:
Der Launcher kann auch so konfiguriert werden, dass er standardmäßig v1-Skripte, v2-Skripte oder beide mit UI-Access startet, allerdings hat diese Option keinen Effekt, wenn für die gewählte Version und Build keine UIA.EXE-Datei vorhanden ist.
Skripte, die andere Skripte mit UI-Access ausführen müssen, können einfach Run verwenden, um die entsprechende UIA.EXE-Datei mit den normalen Befehlszeilenparametern auszuführen. Wenn das UIAccess-Shellverb registriert ist, kann es alternativ auch via Run verwendet werden. Zum Beispiel: Run '*UIAccess "Skript.ahk"'
Bekannte Einschränkungen:
ComObjActive("Word.Application")
fehlschlagen, weil Word nicht für UI-Access markiert wurde.InstallMouseHook
), kann dazu führen, dass alle Maus-Hotkeys blockiert werden, wenn die Maus auf ein Fenster zeigt, das einem UIA-Skript gehört, sogar Hotkeys, die vom UIA-Skript selbst implementiert wurden. Ein Workaround besteht darin, sicherzustellen, dass die UIA-Skripte zuletzt geladen werden.Weitere Informationen finden Sie unter Enable interaction with administrative programs (Interaktion mit administrativen Programmen ermöglichen) im archivierten Forum.