Einstieg AutoHotkey

AutoHotkey ist eine kostenlose, quelloffene Skriptsprache für Windows, mit der Benutzer auf einfache Weise kleine bis komplexe Skripte für alle Arten von Aufgaben erstellen können, wie z. B.: Formularausfüller, automatisches Anklicken, Makros, grafische Benutzeroberflächen usw.

AutoHotkey ist leider nur für Windows Computer verfügbar! Für macOS Computer gibt es das bereits vorinstallierte Programm Automator, welches ähnliche Funktionen bietet.

Wir wollen ein einfaches Programm erstellen, welches eine zufällige Zahl von 1 bis 10 darstellt:

Installation

Lade dir das Programm auf der offiziellen Seite herunter und installiere es auf deinem Windows Rechner.

Erstes Programm

Nach der Installation kannst du nun AutoHotkey Skriptdateien erstellen. Erstelle nun mit einem Rechtsklick > Neu > AutoHotkey Script ein neues Skript.

Die neue Skriptdatei kannst du mit Hilfe eines Texteditors öffnen. Dazu musst du die Datei mit einem Rechtsklick anklicken und dann öffnen mit Texteditor wählen. Wenn du die AutoHotkey Datei normal öffnest, wird das Skript ausgeführt. Das ist aktuell noch leer und es passiert nichts.

Im Editor siehst du vier automatisch eingetragene Zeilen, die grundlegende Einstellungen beim Aufruf des Skriptes vornehmen.

Füge nun folgenden Code in dein neu erstelltes Skript ein:

; Zufallszahlen Generator
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
SetBatchLines -1

;Grafische Benutzeroberfläche
Gui Font, s9, Segoe UI
Gui Add, Button, x108 y120 w153 h35 gCreateNewRandomNumber, &neue Zufallszahl
Gui Font
Gui Font, s30
Gui Add, Text, x57 y15 w258 h82 +0x200 +Center vRandomNumberTxt, 0
Gui Font

Gui Show, w371 h176, Zufallszahlen
Return

;Funktion die ausgeführt werden, wenn die ESC Taste gedrückt wird oder das Fenster geschlossen wird.
GuiEscape:
GuiClose:
    ExitApp

;Funktion: erstellt eine zufällige Zahl von 1 bis 10
CreateNewRandomNumber(){
    Random, myRandomNumber, 1, 10
	;Variable mit der Zufallszahl wird dem GUI Textelement hinzugefügt
    GuiControl, text, RandomNumberTxt, %myRandomNumber%
}

Erklärung des Codes:

  • Jede Zeile, die mit einem ; Strichpunkt beginnt ist eine Kommentarzeile und wird nicht verarbeitet.
  • Am Anfang stehen die vier Zeilen für Einstellungen von AutoHotkey, die sind für das eigentliche Programm uninteressant.
  • Jetzt wird die Grafische Benutzeroberfläche, also das Fenster mit Textfeld und Button erstellt. Dies geht mit Hilfe des Befehls Gui, … siehe Dokumentation.
  • Nach der Eingabe der Koordinaten und der Breite und Höhe des Buttons wurde der Name einer Funktion eingetragen (gCreateNewRandomNumber), die aufgerufen werden soll, wenn der Nutzer auf den Button klickt. Das vorangestellte „g“ kennzeichnet den Namen als Funktion. Das „g“ muss nur im GUI-Element eingetragen werden.
    • Weiter unten im Code siehst du dann die dazu passende Funktion (ohne das „g“): CreateNewRandomNumber()
    • In der Funktion wird die vordefinierte AutoHotkey Funktion Random genutzt, um eine Zufallszahl zu erzeugen.
  • Bei dem Textfeld wird ein Name einer Variable eingetragen (vRandomNumberTxt) mit dieser der Inhalt des Textfeldes angesprochen werden kann. Das vorangestellte „v“ kennzeichnet den Namen als Variable. Das ist wie beim Button nur in den GUI-Elementen einzutragen.
    • Weiter unten im Code siehst du in der Funktion des Buttons folgenden Befehl:
      GuiControl, text, RandomNumberTxt, %myRandomNumber%
      Dieser sucht in der GUI ein Textelement mit dem Variablennamen „RandomNumberTxt“ und fügt diesem den Wert der in der Funktion festgelegten Variablen %myRandomNumber% zu.
    • Die Prozentzeichen „%“, die den Variablennamen umschließen, müssen hinzugefügt werden, wenn man den Inhalt einer Variable ausgeben möchte:

1) always use variable :=
z.B.: meineVariable := „Hello World“

2) always use %variable% to extract the content of the variable
z.B.: MsgBox, Inhalt der Variable %meineVariable%

https://www.autohotkey.com/boards/viewtopic.php?t=48726

Wenn du den Code nun in dein AutoHotkey Skript übertragen hast und speicherst, kannst du das Skript per Doppelklick ausführen. Es sollte sich folgendes Fenster öffnen:

Klicke auf den Button, um eine neue Zufallszahl von 1 bis 10 zu generieren.

Ausführbare Datei .exe erstellen

Das tolle an AutoHokey ist, dass man einfach aus der Skriptdatei eine ausführbare .exe Datei erstellen kann. Diese Datei kann von allen Windows-Computern ausgeführt werden, auch wenn dort kein AutoHotkey installiert ist!

Nach der Installation von AutoHotkey steht einem auch das Programm „Convert .ahk to .exe“ zur Verfügung:

Das Programm zur Umwandlung von .ahk Dateien in .exe Dateien ist recht einfach aufgebaut. Man muss nur die .ahk Datei auswählen und im gleichen Ordner wird dann eine ausführbare .exe Datei erstellt:

In unserem Beispiel wurde aus Zufallszahlen_Generator.ahk -> Zufallszahlen_Generator.exe:

GUI Designer

Sollte beim Hinzufügen des GUI Designer Tools die Fehlermeldung kommen, dass das Tool keine Display-Skalierung unterstützt, kann diese Message Box einfach in „\Adventure-3.0.4\Adventure\Tools\GUI Designer\Auto-GUI.ahk“ entfernt werden:

If (A_ScreenDPI != 96) {
    Gui Auto: +OwnDialogs
    MsgBox 0x30, Warning, %g_AppName% has not been adapted to High-DPI display scaling.`n`nThe program will exit.
    ExitApp
}

Links:

unsere-schule.org

×

Einstieg AutoHotkey

Code: