AutoIt

AutoIt /_ɔːtoʊ ɪt/ ist eine Freeware-Programmiersprache für Microsoft Windows. In den Versionen 1 und 2 wurde sie zur Erstellung von Automatisierungsskripten für Microsoft-Windows-Programme verwendet. Diese werden manchmal Makros genannt. In Version 3 wurde die Programmiersprache erweitert, damit sie mehr Dinge tun kann.

Die Skriptsprache in AutoIt 1 und 2 war statement-gesteuert. Sie wurde entwickelt, um die Eingabe eines Benutzers in den Computer zu simulieren. Ab Version 3 änderte sich die AutoIt-Syntax. Sie ähnelt nun der Programmiersprache BASIC. AutoIt Version 3 ist eine Programmiersprache für allgemeine Zwecke. Sie kann Datentypen, wie z.B. Arrays, enthalten.

Ein AutoIt-Skript kann in eine eigenständige ausführbare Datei umgewandelt werden. Diese kann auf Computern ausgeführt werden, auf denen der AutoIt-Interpreter nicht installiert ist. Eine breite Palette von Funktionsbibliotheken ist verfügbar. Sie sind als UDFs oder "Benutzerdefinierte Funktionen" bekannt. Einige sind als Standard enthalten. Andere sind auf der Website verfügbar. Sie fügen der Sprache zusätzliche Fähigkeiten hinzu. AutoIt hat einen speziellen Editor, eine integrierte Entwicklungsumgebung oder IDE. Er basiert auf dem freien SciTE-Editor. Der Compiler und der Hilfetext sind in diesem speziellen Editor enthalten und bieten eine Standardumgebung für Entwickler.



 Bildschirmfoto eines typischen AutoIT-SkriptsZoom
Bildschirmfoto eines typischen AutoIT-Skripts

Merkmale

  • Skriptsprache mit BASIC-ähnlicher Struktur für Windows
  • Kompilieren in eigenständige ausführbare Dateien
  • Zusatzbibliotheken und -module für bestimmte Anwendungen oder Apps
  • Unterstützt TCP- und UDP-Protokolle
  • Unterstützt Komponenten-Objektmodell (COM)
  • Aufruf von Funktionen in DLL-Dateien
  • Konsolenanwendungen ausführen und auf die Standard-Streams zugreifen
  • Einschließen von Datendateien in die kompilierte Datei, die beim Ausführen extrahiert werden sollen
  • Erstellen grafischer Benutzeroberflächen, einschließlich Nachrichten- und Eingabefelder
  • Töne abspielen, pausieren, fortsetzen, anhalten, suchen, die aktuelle Position des Tons und die Länge des Tons ermitteln
  • Mausbewegungen simulieren
  • Fenster und Prozesse manipulieren
  • Automatisieren Sie das Senden von Benutzereingaben und Tastatureingaben an Anwendungen sowie an einzelne Steuerelemente innerhalb einer Anwendung
  • Unicode-Unterstützung ab Version 3.2.4.0
  • 64-Bit-Code-Unterstützung ab Version 3.2.10.0
  • Unterstützt reguläre Ausdrücke
  • Kompatibel mit der Benutzerkontensteuerung
  • Objektorientierter Entwurf durch eine Bibliothek



Verwendung

AutoIt wird häufig verwendet, um Dienstprogramme für Microsoft Windows zu erstellen. Diese Programme können Routineaufgaben automatisieren. Anwendungsbeispiele sind: Systemverwaltung, Überwachung, Wartung und Softwareinstallation. Es wird auch zur Simulation von Benutzerinteraktionen verwendet. Bei dieser Verwendung wird eine Anwendung durch ein AutoIt-Skript, das sich wie ein menschlicher Benutzer verhält, "angetrieben", Dinge zu tun. Ein AutoIT-Skript kann Tastendrücke und Mausklicks ausgeben, Text eingeben und so weiter. Auf diese Weise simuliert es einen menschlichen Benutzer einer Anwendung.

AutoIt wurde in der kostengünstigen Laborautomatisierung eingesetzt. Zu den Anwendungen gehören Instrumentensynchronisation, Alarmüberwachung und Ergebniserfassung. Auch Geräte wie 3D-Drucker können angesteuert werden.



Beispiele

Hallo Welt

Stellen Sie eine Bibliothek von Konstantenwerten zur Verfügung. #include < MsgBoxConstants. au3> ; Zeigt "Hallo, Welt!" in einer Nachrichtenbox an. MsgBox($MB_SYSTEMMODAL, "Titel", "Hallo, Welt!")

Automatisieren des Windows-Rechners

Stellen Sie eine Bibliothek mit konstanten Werten zur Verfügung. #include < MsgBoxConstants. au3> ; Zeigt ein Nachrichtenfeld mit einer Zeitüberschreitung von 6 Sekunden an. MsgBox($MB_OK, "Achtung", "Vermeiden Sie es, während der Automatisierung die Tastatur oder Maus zu berühren", 6) ; Starten Sie den Windows-Rechner. Run("calc.exe") ; Warten, bis der Rechner aktiv wird, mit einer Zeitüberschreitung von 10 Sekunden. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Wenn der Rechner nach 10 Sekunden nicht erschienen ist, beenden Sie das Skript. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Geben Sie automatisch das aktuelle Jahr in den Rechner ein. Send(@YEAR) ; Lassen Sie uns das Skript etwas verlangsamen, damit wir sehen können, was vor sich geht. Sleep(600) ; Geben Sie automatisch 'Dividieren durch 4' ein und schlafen Sie dann 600 ms. Send("/4") Sleep(600) ; Drücken Sie die Eingabetaste, um das Ergebnis anzuzeigen, und schlafen Sie 600 ms lang. Send("{ENTER}") Sleep(600) ; Kopieren Sie das Ergebnis mit der Windows-Tastaturkombination Strg+C in die Zwischenablage. Send("^c") ; Deklarieren Sie eine Variable und weisen Sie ihr den Inhalt der Zwischenablage zu. Local $fResult = ClipGet() ; Prüfen Sie, ob die Variable einen Dezimalpunkt enthält oder nicht. If StringInStr($fResult, ".") Then ; Zeigen Sie ein Nachrichtenfeld mit einer Zeitüberschreitung von 5 Sekunden an. MsgBox($MB_OK, "Leap Year", @YEAR & " ist kein Schaltjahr.", 5) Else ;      Diese Meldung wird nur angezeigt, wenn das aktuelle Jahr ein Schaltjahr ist. MsgBox($MB_OK, "Leap Year", @YEAR & " ist ein Schaltjahr.", 5) EndIf ; Schließen Sie den Windows-Rechner - räumen Sie danach immer auf. WinClose("[CLASS:CalcFrame]")

Durchschnitt finden

; Find Average by JohnOne, modified by czardas #include < MsgBoxConstants. au3> _Example() ; Führen Sie das Beispiel aus. Func _Beispiel() ; Zeigen Sie ein Eingabefeld an und bitten Sie den Benutzer, einige durch Kommata getrennte Zahlen einzugeben.Lokale $sInput = InputBox("Find Average", "Geben Sie einige Zahlen durch Komma getrennt ein: 1,2,42,100,3") ; Wenn ein Fehler aufgetreten ist, beenden Sie das Skript.   If @error Then Exit ; Füllen Sie ein Array mit den Eingaben des Benutzers. Local $aSplit = StringSplit($sInput, ",") ; Übergeben Sie das Array an die Funktion _Find_Average() und prüfen Sie es dann auf Fehler. Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Zeigen Sie das Ergebnis in einem Nachrichtenfeld an. MsgBox($MB_OK, "Mittelwert suchen", "Ergebnis: " & $fAverage) EndFunc ;==>_Beispielfunktion($aArray) ; Wenn      die Eingabe nicht vom richtigen Typ ist (ein Array), dann geben Sie einen Fehler zusammen mit den Details zurück.Wenn nicht IsArray($aArray) , dann geben Sie SetError(1, 0, VarGetType($aArray)) zurück.       Detailliertere Prüfungen sind möglich, aber der Kürze halber wird hier nur eine durchgeführt; ; Deklarieren Sie eine Variable, um die Summe der Zahlen zu speichern. Local $iArraySum = 0 ; Schleife durch das Array. For $i = 1 To $aArray[0] ; Erhöhen Sie die Summe um die Zahl in jedem Array-Element. $iArraySum += Zahl($aArray[$i]) Next ; Gibt den Durchschnitt auf 2 Dezimalstellen gerundet zurück. Rundung zurückgeben($iArraySum / $aArray[0], 2) EndFunc    ;==>_Durchschnitt_finden



Geschichte

  • Januar 1999 - Erste AutoIt Version (1.0)
  • August 1999 - AutoIt v2 und AutoItX
  • September 1999 - Erste AutoIt Version mit Compiler
  • Dezember 2002 - AutoIt v3 (öffentliche Beta-Version)
  • Februar 2004 - AutoIt v3 (Stabil)
  • September 2006 - Auto3Lib gestartet
  • November 2007 - AutoIt v3.2.10.0 veröffentlicht, Auto3Lib in AutoIt v3 integriert
  • Mai 2008 - AutoIt v3.2.12.0 veröffentlicht, mit zusätzlicher GUI-Funktionalität
  • Dezember 2008 - AutoIt (und AutoItX) v3.3.0.0 freigegeben
  • Dezember 2009 - AutoIt v3.3.2.0 veröffentlicht
  • Januar 2010 - AutoIt v3.3.4.0 veröffentlicht
  • März 2010 - AutoIt v3.3.6.0 veröffentlicht
  • April 2010 - AutoIt v3.3.6.1 veröffentlicht
  • Dezember 2011 - AutoIt v3.3.8.0 veröffentlicht
  • Januar 2012 - AutoIt v3.3.8.1 veröffentlicht
  • Dezember 2013 - AutoIt v3.3.10.0 veröffentlicht
  • Juni 2014 - AutoIt v3.3.12.0 veröffentlicht
  • Juli 2015 - AutoIt v3.3.14.0 und v3.3.14.1 veröffentlicht
  • September 2015 - AutoIt v3.3.14.2 veröffentlicht
  • Februar 2018 - AutoIt v3.3.14.3 veröffentlicht



Lizenz

Die Entwickler von AutoIt haben den Quellcode ursprünglich unter der GNU General Public License (GPL) veröffentlicht.

Im Jahr 2006 wurde die Lizenz für Version 3.2.0 und spätere Versionen in eine eigene Closed-Source-Lizenz geändert.

Ein Teil des Codes aus Version 3.1 wurde vom AutoHotkey-Projekt zur Erstellung eines Forks verwendet. Dies war unter den Bedingungen der GPL-Lizenz erlaubt. Die AutoHotkey-Gemeinschaft arbeitet weiter an der Entwicklung und Freigabe des Codes unter der GPL.



Fragen und Antworten

F: Was ist AutoIt?


A: AutoIt ist eine Freeware-Programmiersprache für Microsoft Windows.

F: Wie wurde AutoIt in den Versionen 1 und 2 verwendet?


A: In den Versionen 1 und 2 wurde es zur Erstellung von Automatisierungsskripten für Microsoft Windows-Programme verwendet, die auch als Makros bekannt sind.

F: Was hat sich in Version 3 von AutoIt geändert?


A: Die Skriptsprache wurde in Version 3 erweitert, um mehr Funktionen zu ermöglichen, und die Syntax wurde so geändert, dass sie der Programmiersprache BASIC ähnelt.

F: Welche Art von Daten kann ein AutoIt-Skript enthalten?


A: Ein AutoIt-Skript kann verschiedene Datentypen wie z.B. Arrays enthalten.

F: Kann ein AutoIt-Skript auf Computern ausgeführt werden, auf denen der Interpreter nicht installiert ist?


A: Ja, ein AutoIt-Skript kann in eine eigenständige ausführbare Datei konvertiert werden, die auf Computern ausgeführt werden kann, auf denen der Interpreter nicht installiert ist.

F: Gibt es zusätzliche Funktionen für die Sprache?


A: Ja, es gibt eine Vielzahl von Funktionsbibliotheken, die als UDFs oder "User Defined Functions" bekannt sind. Einige sind standardmäßig enthalten, andere sind auf der Website erhältlich und erweitern die Sprache um zusätzliche Funktionen.

F: Gibt es einen speziellen Editor für die Entwicklung mit AutoIt?


A: Ja, es gibt einen speziellen Editor, der auf dem kostenlosen SciTE-Editor basiert und sowohl einen Compiler als auch Hilfetexte enthält, so dass Entwicklern eine Standardumgebung für die Entwicklung zur Verfügung steht.

AlegsaOnline.com - 2020 / 2023 - License CC3