Programme starten, Mausklicks simulieren, Tastatureingaben automatisieren AutoHotkey - Open Source-Skriptsprache für die Automatisierung in Rechenzentren

Autor / Redakteur: Thomas Joos / Thomas Joos

Mit der kostenlosen Skriptsprache AutoHotkey können Admins nahezu alle Aufgaben automatisieren, die in Zusammenhang mit Windows anfallen. Dazu gehören das Starten von Programmen und das simulieren von Mausklicks oder das automatisierte Drücken von Tastatureingaben.

Anbieter zum Thema

Kostenlose Tools in Netzwerken nutzen (free stocks/Pixabay)
Kostenlose Tools in Netzwerken nutzen (free stocks/Pixabay)
(Kostenlose Tools in Netzwerken nutzen (free stocks/Pixabay))

AutoHotkey ist eine kostenlose Skript-Sprache für das Automatisieren von Windows. Mit der Sprache können Sie kleine Skripte schreiben, mit denen verschiedene Aufgaben in Windows automatisiert werden können.  Das Tool ist auch Bestandteil der bekannten Open Source-DVD

Das Tool lässt sich aber auch direkt auf der Seite des Herstellers herunterladen. Auf der Seite sind darüber hinaus auch Dokumentationen und Beispielskripte zu finden. Wir zeigen die Links weiter unten im Beitrag. 

Neben dem Schreiben von eigenen Skripten kann AutoHotkey auch eigene Makros aufzeichnen und umsetzen. Mit den Skripten können auch andere Aufgaben umgesetzt werden, zum Beispiel das Definieren von neuen Tastenkombinationen in Windows. AutoHotkey ist bei der Zuweisung von Tastenkombinationen und der Automatisierung von Windows sehr flexibel. Damit Sie sich aber umfassend mit dem Tool auseinandersetzen zu können, ist etwas Zeit und Übung notwendig.

Nach der Einarbeitung beginnt die Automatisierung

Da es sich bei dem Tool um eine Skriptsprache handelt, ist natürlich etwas Einarbeitung notwendig. Danach lassen sich aber durchaus mächtige Skripte schreiben. Auf If- und Then-Abfragen sind mit AutoHotkey kein Problem. 

Die Skripte können mit allen Editoren geschrieben werden, auch mit Notepad. Die Skripte erhalten die Endung *.ahk. Wenn AutoHotkey auf einem Rechner installiert ist, führt das Tool AHK-Dateien aus, wenn diese gestartet werden.

Skripte zu *.exe-Datei kompilieren

Es gibt aber auch die Möglichkeit die Skripte zu kompilieren. Dazu gehört zum Lieferumfang von AutoHotkey ein Compiler mit der Bezeichnung Ahk2Exe. Für die Einarbeitung in AutoHotkey bietet sich die Seite "AutoHotkey Tutorial: Erste Schritte mit AutoHotkey" an. Auf der Seite der Entwickler gibt es auch eine umfangreiche Dokumentation für AutoHotkey, die bei der Einarbeitung hilft. 

Auf GitHub gibt es darüber hinaus auf der Seite der Entwickler zahlreiche Beispielskripte, die zum Einsatz kommen können. Sie können die Skripte selbst verwenden, oder anpassen. In jedem Fall sind die Skripte eine sehr gute Quelle für die Einarbeitung in AutoHotKey.  

Ein Beispielskript, das es ermöglicht Fenster in Windows einfacher zu verschieben, nicht nur über die Titelleiste, sieht zum Beispiel folgendermaßen aus:

; Easy Window Dragging (requires XP/2k/NT) ; https://www.autohotkey.com ; Normally, a window can only be dragged by clicking on its title bar. ; This script extends that so that any point inside a window can be dragged. ; To activate this mode, hold down CapsLock or the middle mouse button while ; clicking, then drag the window to a new position. ; Note: You can optionally release CapsLock or the middle mouse button after ; pressing down the mouse button rather than holding it down the whole time. ; This script requires v1.0.25+. ~MButton & LButton:: CapsLock & LButton:: CoordMode, Mouse ; Switch to screen/absolute coordinates. MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin% WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% if EWD_WinState = 0 ; Only if the window isn't maximized SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it. return EWD_WatchMouse: GetKeyState, EWD_LButtonState, LButton, P if EWD_LButtonState = U ; Button has been released, so drag is complete. { SetTimer, EWD_WatchMouse, Off return } GetKeyState, EWD_EscapeState, Escape, P if EWD_EscapeState = D ; Escape has been pressed, so drag is cancelled. { SetTimer, EWD_WatchMouse, Off WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY% return } ; Otherwise, reposition the window to match the change in mouse coordinates ; caused by the user having dragged the mouse: CoordMode, Mouse MouseGetPos, EWD_MouseX, EWD_MouseY WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin% SetWinDelay, -1 ; Makes the below move faster/smoother. WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY EWD_MouseStartX := EWD_MouseX ; Update for the next timer-call to this subroutine. EWD_MouseStartY := EWD_MouseY return

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung