# AutoIt

AutoIt ist eine Software zum Ausführen von Skripten, mit denen hauptsächlich Abläufe unter Microsoft Windows automatisiert, aber auch komplette Windows-Programme geschrieben werden können. AutoIt ist Freeware und läuft unter NT, 2000, XP, Vista, 7, 8, 10 und 11. Bis Version 2 war es Open-Source und auch von Version 3 wurden Teile des Quellcodes, unter einer restriktiven Lizenz, veröffentlicht. Aktuell sind nur noch einige Dokumentationsbuilddateien abrufbar. Das Programm stellt dem Nutzer eine BASIC-ähnliche Skriptsprache zur Verfügung. Außerdem enthält es einen Interpreter und einen Compiler, mit dem ausführbare Dateien (exe-Dateien) erstellt werden können; damit können AutoIt-Skripte auch auf Computern ausgeführt werden, auf denen AutoIt nicht installiert ist.

## Funktion

AutoIt-Skripte simulieren unter anderem Tastenanschläge und Mausklicks. Der Ablauf kann davon abhängig gemacht werden, dass ein bestimmter Prozess läuft oder beendet ist, oder dass ein bestimmtes Fenster aktiviert, geöffnet oder geschlossen wird. Außerdem können Fenster minimiert, versteckt, aktiviert oder geschlossen werden; Dateien und Verzeichnisse können ausgeführt, kopiert, verschoben, umbenannt oder gelöscht werden. Auch der Inhalt der Zwischenablage und die Registrierungsdatenbank können bearbeitet werden. Mit Version 3 sind (Stand August 2008) folgende Operationen möglich:
* Erstellen von GUIs inklusive Nachrichtenfenstern und Eingabeboxen
* Automatisches Senden von Nutzereingaben und Tastenanschlägen an Anwendungen sowie individuelle Steuerung innerhalb von Anwendungen
* Nutzung von COM (Component Object Modelling)-Objekten
* Aufruf von Funktionen einer Win32-DLL
* Aufruf von Funktionen aus der WinAPI
* Ausführen von Konsolen-Applikationen und Zugriff auf Standard-Datenströme
* Einbinden von Dateien in die kompilierte Datei, die zu einem definierten Zeitpunkt extrahiert werden können
* Abspielen von Sound-Dateien, Pause, Weiter, Stopp, Suchen, aktuelle Wiedergabeposition sowie Länge des Sounds
* Ausführung komplizierter mathematischer Berechnungen
* Kommunikation via TCP- und UDP-Protokoll
* Unicode-Unterstützung ab Version 3.2.4.0
* Unterstützung von ActiveX-Abläufen (WSH/VBScript) mit der Erweiterung „AutoItX“
* Datenbankzugriff (zum Beispiel auf SQLite [im Installationspaket])
* Automatisierung des Internet Explorers
* Automatisierung von Microsoft Word und Microsoft Excel
Mit Version 3.2 wurde AutoIt stark erweitert und zahlreiche Programmfehler wurden beseitigt. Außerdem können Skripte als a3x-Dateien abgelegt werden, und die GUI-Funktionen wurden verbessert.

## Beispiel für ein AutoIt-Skript

Es wird ein Eingabefeld (englisch input box) angezeigt, das dazu auffordert, seinen Namen einzugeben. Der Name wird in die Variable $sName gespeichert.
Mit diesem Befehl wird ein Meldungsfeld (englisch message box) angezeigt, welches den Inhalt der Variablen $sName ausgibt. Der Wert 64 kennzeichnet das Fenster als „Info-Box“ (möglich sind auch Warnungen, Fragen oder Fehlermeldungen).

## Erweiterungen und Zusatzprogramme

* Es existiert eine angepasste Version ("SciTE4AutoIt3") von SciTE als integrierte Entwicklungsoberfläche (IDE) für AutoIt. Der Freeware-Programm-Editor unterstützt Syntaxhervorhebung sowie Autovervollständigen und einige Makros zur Erstellung häufig benötigter Syntaxelemente. SciTE4AutoIt3 steht kostenlos zum Download auf der AutoIt-Homepage zur Verfügung.
* Über sogenannte User Defined Functions (UDFs) oder auch Includes stehen zahlreiche Zusatzfunktionen zur Verfügung; durch von der Community erstellte Erweiterungen umfasst der aktuelle Funktionsumfang im Vergleich zur obigen Liste weitaus mehr.
* Der KODA-Form-Designer ermöglicht die vereinfachte Erstellung grafischer Oberflächen (GUI, Graphical User Interfaces) für AutoIt-Skripte.
* Tidy „reinigt“ ein AutoIt-Skript, indem es Einrückungen, Groß-/Kleinschreibungen, Kommentare und einiges mehr korrigiert.
* Mit dem CodeWizard können Messageboxen (Nachrichtenfenster), Inputboxen (Eingabefenster) und vieles mehr generiert werden. Es existiert eine Onlineversion des Messagebox-Generators.
* AutoIt Window Info ist eine Erweiterung, die dazu dient, Informationen eines Fensters oder des Mauszeigers auszulesen (z. B. die Fenster- oder Mausposition, Pixelfarben, Control-Koordinaten).
* Die oben genannten Punkte sind bereits alle in SciTE4AutoIt3 integriert.