AutoHotkey
AutoHotkey | |
---|---|
Screenshot | |
Basisdaten | |
Entwickler | Chris Mallett (Chris), Steve Gray (Lexikos) |
Aktuelle Version | 1.1.22.09 (11. November 2015) |
Betriebssystem | Windows |
Kategorie | Skriptsprache |
Lizenz | GNU General Public License |
Deutschsprachig | Übersetzte Dokumentation |
ahkscript.org |
AutoHotkey, kurz AHK, ist eine Skriptsprache, mit der man die Windows-Benutzeroberfläche steuern kann. Mit Hilfe von AutoHotkey kann man sich wiederholende Arbeitsaufgaben unter Windows automatisieren. AutoHotkey ist eine freie Software.
Inhaltsverzeichnis
Überblick
AutoHotkey ist eine Scriptsprache für Windows 2000, XP, Vista, Windows 7 und Windows 8. Unter Windows 95/98/Me funktioniert es mit einigen Einschränkungen.
AutoHotkey ist auch für Programmieranfänger leicht zu erlernen. Die zur Programmiersprache mitgelieferte englische Dokumentation enthält ein Tutorial und zu jedem Befehl komplette Programmbeispiele oder zumindest konkrete Anwendungsfälle. Die zugehörige Hilfedatei AutoHotkey.chm kann durch die aktuelle deutsche Version ersetzt werden.
Anwendungsgebiete
AutoHotkey ist dafür gedacht, sich wiederholende Arbeitsaufgaben zu automatisieren. Mit AHK-Skripten kann man beispielsweise
- in einem Text markierte Begriffe in der Wikipedia oder einem Wörterbuch nachschlagen,
- Informationen aus nicht miteinander kompatiblen Datensammlungen (z. B. proprietären Datenbanken und Excel-Tabellen) zusammenführen,
- Programme durch automatische Texteingaben oder Maus-Klicks (die z. B. abhängig vom aktuellen Fensterinhalt simuliert werden) steuern.
Mit AutoHotkey lassen sich sowohl systemweit gültige als auch programmspezifische Tastenkombinationen und Funktionen zuweisen. So kann man z. B.
- die Tastaturbelegung nach Wunsch ändern,
- mit einem Tastendruck Webseiten aufrufen (unabhängig davon, ob der Webbrowser aktiv ist),
- Hotstrings (AHK-Begriff für selbst definierte Abkürzungen) bei Texteingaben automatisch durch einen anderen (meist längeren) Text ersetzen.
Fortgeschrittene können mit AutoHotkey grafische Benutzeroberflächen (GUI) erstellen, mit Regulären Ausdrücken arbeiten (PCRE) oder direkt auf DLLs von Windows oder Anwendungsprogrammen zugreifen.
Besonderheiten
Es ist möglich, AutoHotkey-Skripte in eigenständig lauffähige Programme zu kompilieren. Diese Programme können somit auch auf Windows-Rechnern ohne AutoHotkey-Installation ausgeführt werden. Ein passender Compiler ist Bestandteil des AutoHotkey-Programmpakets. Skripte wie auch kompilierte Programme unterliegen der vom Entwickler vorgesehenen Lizenz und dürften somit auch als eigenständige Programme verkauft werden. Beim Kompilierungsvorgang lässt sich ein Passwort angeben (bis Version 1.1). Damit lässt sich das Programm vor dem einfachen Rückumwandeln in Quelltext (Dekompilieren) schützen, solange das Passwort nicht bekannt ist. Der so erreichte Schutz entspricht jedoch nicht dem eines binär kompilierten Programms. Um diesen falschen Eindruck nicht zu erwecken, unterstützen neuere Versionen (ab Version 1.1) den Passwortschutz nicht mehr.
Im Programmpaket finden sich noch die Tools
- AutoScriptWriter, ein Makro-Rekorder. Dieser registriert Tastatureingaben, Mausklicks und identifiziert das momentan aktive Fenster. Er setzt diese Aktionen in ein ablauffähiges AHK-Skript um, das später mit höherer Geschwindigkeit abgespielt werden kann.
- AU3_Spy, das umfangreiche Informationen zum gerade aktiven Fenster liefert (Fenstertitel, Fenstertext, Namen von Schaltflächen, Inhalt von Eingabefeldern usw.). Die Informationen helfen oft bei der Identifizierung, Auswertung und Steuerung von Fenstern / Dialogfeldern.
AutoHotkey-Programmbeispiele
Das Skript gibt Hallo Welt! in einer MessageBox aus: <syntaxhighlight lang="autohotkey">MsgBox Hallo Welt!</syntaxhighlight>
Das Skript startet das Programm Notepad, wartet, bis das Fenster aktiv ist und tippt dort Hallo Welt! ein: <syntaxhighlight highlight="3" lang="autohotkey"> Run, "notepad.exe" WinWaitActive, ahk_class Notepad Send, Hallo Welt{!} </syntaxhighlight>
Durch das Drücken der Tastenkombination Strg+Alt+W wird ein markiertes Wort bei Wikipedia nachgeschlagen: <syntaxhighlight lang="autohotkey"> ^!w::
alteZwischenablage := ClipboardAll Send, ^c InternetAnfrage := "http://de.wikipedia.org/w/index.php?title="
. "Spezial%3ASuche&search=" . Clipboard
Clipboard := alteZwischenablage Run, % InternetAnfrage
Return </syntaxhighlight>
Die Abkürzung MfG wird durch einen Hotstring nach der Eingabe zu Mit freundlichen Grüßen: <syntaxhighlight lang="autohotkey">
- MfG::Mit freundlichen Grüßen
</syntaxhighlight>
Deaktiviert auf dem Desktop das Mausrad und damit versehentliches zoomen: <syntaxhighlight lang="autohotkey">
- IfWinActive, ahk_class Progman
*WheelDown::Return *WheelUp::Return
</syntaxhighlight>
Ausgabe einiger Systeminfos in einer selbst definierten Oberfläche:<syntaxhighlight lang="autohotkey">
Gui, Font, s10, Verdana Gui, Add, Text, +Center , % "Hallo " A_UserName "`n" . "Du nutzt ein " A_OSType "-System`n" . "(Variante " A_OSVersion ")" Gui, Add, Button, wp gGuiClose, Beenden Gui, Show,, WikiDemo - User/OS Info
Return GuiClose: GuiEscape:
ExitApp
</syntaxhighlight>
Geschichte
Der Programmierer Chris Mallett begann die Arbeit an AutoHotkey im Jahr 2003. Grund dafür war, dass die von ihm gewünschte Hotkey-Unterstützung für das damals unter der GNU General Public License stehende Programm AutoIt2 zu diesem Zeitpunkt nicht existierte und auch nicht geplant war.
Version 1.0 von AutoHotkey wurde im Februar 2004 veröffentlicht. AutoHotkey kann AutoIt2-Skripte ausführen, und circa 40 AutoHotkey-Befehle basieren direkt auf dem Quellcode von AutoIt. Einige AutoHotkey beigelegte Hilfsprogramme (u. a. der Compiler) stammen ebenfalls aus AutoIt.
AutoIt ist inzwischen kein Open-Source-Programm mehr.
Am 10. Oktober 2010 erklärte der Entwickler Chris Mallet, dass er AutoHotkey nicht mehr aktiv weiterentwickeln werde. Er habe das Interesse verloren, weil er, im Gegensatz zu anderen aktiven Entwicklern, die Skriptsprache nie zu einer voll ausgestatteten Programmiersprache ausbauen wollte. Auf der Download-Seite wird nun eine direkte Weiterentwicklung, die von einigen Mitgliedern der Community entwickelt wurde, als Download für AutoHotkey angeboten. Dieser offizielle Nachfolger trägt den Namen AutoHotkey 1.1 und bietet neben 64bit-Unterstützung auch Unterstützung für Unicode, Arrays und Objekte. Die Originalversion, nun AutoHotkey Basic genannt, verfügt nicht über diese erweiterten Funktionalitäten.
2012: AutoHotkey_L wurde die offizielle Version. „Chris“ übergibt die Besitzrechte der Domain www.autohotkey.com an „polyethene“. Dieser versucht das Rad der Zeit zurückzudrehen.
24. April 2014: Die "AutoHotkey Foundation LLC" wird gegründet, neue offizielle AutoHotkey-Webseite ist ahkscript.org.
22. September 2015: Einigung mit „polyethene“. Übergabe der Domain autohotkey.com. Diese wird vollständig in einen neuen Server migriert.
Weblinks
- Offizielle AutoHotkey-Website (englisch)
- Deutsche AutoHotkey-Webseite
- Deutsches Forum
- Sammlung von AutoHotkey Basic -Skripten unter einer gemeinsamen Benutzeroberfläche, Projekt der Zeitschrift c't (Download)
Quellen
- Geschichte von AutoHotkey (englisch)
- AutoIt und OpenSource (englisch)
- Liste der AutoIt-Befehle in AutoHotkey (englisch)
- Kommerzielle Verwertung eigener Skripte und Vergleiche Freeware / OpenSource (englisch)
- AutoHotkey-Decompiler-Nutzung (englisch)
- Erklärung von Chris Mallet über die Zukunft von AutoHotkey (englisch)