AutoIt - AutoIt

AutoIt
Autoitlogo.png
AutoIT-Beispiel script.png
Paradigma objektorientiert , zwingend , funktional , prozedural , reflexiv
Entworfen von Jonathan Bennett
Entwickler AutoIt Consulting Ltd.
Erstmals erschienen Januar 1999 ; Vor 22 Jahren ( 1999-01 )
Stabile Version
3.3.14.5 / 16. März 2018 ; Vor 3 Jahren ( 2018-03-16 )
Vorschauversion
3.3.15.4 Beta / 12. Juni 2021 ; vor 4 Monaten ( 2021-06-12 )
Plattform IA-32 und x64
Betriebssystem Windows XP SP3 und höher
Windows Server 2003 und höher
Lizenz Freeware
Dateinamenerweiterungen .au3
Webseite www .autoitscript .com
Beeinflusst von
BASIC

AutoIt / ɔː t ɪ t / ist ein Freeware - Programmiersprache für Microsoft Windows . In seiner frühesten Version war es in erster Linie dazu gedacht, Automatisierungsskripte (manchmal als Makros bezeichnet ) für Microsoft Windows-Programme zu erstellen , hat sich jedoch seitdem um Verbesserungen sowohl im Programmiersprachendesign als auch in der Gesamtfunktionalität erweitert.

Die Skriptsprache in AutoIt 1 und 2 war anweisungsgesteuert und hauptsächlich für die Simulation der Benutzerinteraktion konzipiert. Ab Version 3 ähnelt die AutoIt-Syntax der der BASIC- Sprachfamilie. In dieser Form ist AutoIt eine universelle Programmiersprache der dritten Generation mit einem klassischen Datenmodell und einem abweichenden Datentyp , der verschiedene Datentypen speichern kann, einschließlich Arrays.

Ein AutoIt-Automatisierungsskript kann in eine komprimierte, eigenständige ausführbare Datei umgewandelt werden, die auf Computern ausgeführt werden kann, auch wenn der AutoIt-Interpreter nicht installiert ist. Eine breite Palette von Funktionsbibliotheken (bekannt als UDFs oder "User Defined Functions") sind ebenfalls standardmäßig enthalten oder stehen auf der Website zur Verfügung, um spezielle Funktionen hinzuzufügen. AutoIt wird auch mit einer IDE verteilt, die auf dem kostenlosen SciTE- Editor basiert . Der Compiler und der Hilfetext sind vollständig integriert und bieten eine De-facto- Standardumgebung für Entwickler, die AutoIt verwenden.

Geschichte

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

AutoIt1 und AutoIt2 waren Closed-Source-Projekte und hatten eine ganz andere Syntax als AutoIt3, dessen Syntax eher VBScript und BASIC ähnelt.

AutoIt3 war zunächst frei und quelloffen , unter den Bedingungen der GNU General Public License lizenziert , mit seiner ersten öffentlichen Veröffentlichung 3.0.100 im Februar 2004 und hatte Open-Source-Veröffentlichungen im März 2004 und August 2004. Version 3.0.102, veröffentlicht im August 2004, war zunächst Open Source, wurde aber im Januar 2005 als Closed Source vertrieben. Nachfolgende Versionen, beginnend mit der Version 3.1.0 vom Februar 2005, waren alle Closed-Source. Version 3.1.0 war auch die erste Version mit Unterstützung für GUI-Skripte.

Ähnliche Projekte

Das freie und quelloffene AutoHotkey- Projekt hat 29 seiner Funktionen aus dem AutoIt 3.1-Quellcode abgeleitet. Die AutoHotKey-Syntax unterscheidet sich stark von der AutoIt3-Syntax und ähnelt eher der AutoIt2-Syntax.

Merkmale

AU3-Dateiformat-Symbol

AutoIt wird normalerweise verwendet, um Dienstprogramme für Microsoft Windows zu erstellen und Routineaufgaben wie Systemverwaltung, Überwachung, Wartung oder Softwareinstallation zu automatisieren. Es wird auch verwendet, um Benutzerinteraktionen zu simulieren, wobei eine Anwendung "gesteuert" wird (über automatisierte Formulareingabe, Tastendruck, Mausklick usw.), um Dinge durch ein AutoIt-Skript zu tun.

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

  • Skriptsprache mit BASIC-ähnlicher Struktur für Windows
  • Kompilieren in eigenständige ausführbare Dateien
  • Add-on-Bibliotheken und Module für bestimmte Apps
  • Unterstützt TCP- und UDP- Protokolle
  • Unterstützt das Komponentenobjektmodell (COM)
  • Aufruffunktionen in DLL-Dateien
  • Konsolen-Apps ausführen und auf die Standardstreams zugreifen
  • Fügen Sie Datendateien in die kompilierte Datei ein, die beim Ausführen extrahiert werden soll
  • Erstellen Sie grafische Benutzeroberflächen , einschließlich Nachrichten- und Eingabefelder
  • Sounds abspielen, anhalten, fortsetzen, stoppen, suchen, die aktuelle Position des Sounds abrufen und die Länge des Sounds abrufen
  • Simulieren Mausbewegungen
  • Fenster und Prozesse manipulieren
  • Automatisieren Sie das Senden von Benutzereingaben und Tastenanschlägen an Apps sowie an einzelne Steuerelemente innerhalb einer App
  • 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 Benutzerkontensteuerung
  • Objektorientiertes Design durch eine Bibliothek

Beispiele

Hallo Welt

; Make available a library of constant values.
#include <MsgBoxConstants.au3>

; Displays "Hello, world!" in a messagebox.
MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automatisieren des Windows-Rechners

; Make available a library of constant values.
#include <MsgBoxConstants.au3>

; Display a message box with a timeout of 6 seconds.
MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6)

; Run the Windows Calculator.
Run("calc.exe")

; Wait for the calculator to become active with a timeout of 10 seconds.
WinWaitActive("[CLASS:CalcFrame]", "", 10)

; If the calculator did not appear after 10 seconds then exit the script.
If WinExists("[CLASS:CalcFrame]") = 0 Then Exit

; Automatically type the current year into the calculator.
Send(@YEAR)

; Let's slow the script down a bit so we can see what's going on.
Sleep(600)

; Automatically type in 'divide by 4', and then sleep 600 ms.
Send("/4")
Sleep(600)

; Hit the return key to display the result, and sleep 600 ms.
Send("{ENTER}")
Sleep(600)

; Copy the result to the clipboard using the Windows shortcut Ctrl+C.
Send("^c")

; Declare, and assign the contents of the clipboard to, a variable.
Local $fResult = ClipGet()

; Check to see if the variable contains a decimal point or not.
If StringInStr($fResult, ".") Then
    ; Display a message box with a timeout of 5 seconds.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is not a leap year.", 5)
Else
    ; This message will only display if the current year is a leap year.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5)
EndIf

; Close the Windows calculator - always tidy up afterwards.
WinClose("[CLASS:CalcFrame]")

Durchschnitt finden

; Find Average by JohnOne, modified by czardas
#include <MsgBoxConstants.au3>

_Example() ; Run the example.

Func _Example()
    ; Display an input box and ask the user to enter some numbers separated by commas.
    Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")

	; If an error occurred then exit the script.
	If @error Then Exit

    ; Populate an array with the user's input.
    Local $aSplit = StringSplit($sInput, ",")

    ; Pass the array to the function _Find_Average() and then check for errors.
    Local $fAverage = _Find_Average($aSplit)
    If @error Then Exit

    ; Display the result in a message box.
    MsgBox($MB_OK, "Find Average", "Result: " & $fAverage)
EndFunc   ;==>_Example

Func _Find_Average($aArray)
    ; If the input is not of the correct type (an array), then return an error along with the details.
    If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))
	; More detailed checks are possible, but for brevity just one is performed here.

    ; Declare a variable to store the sum of the numbers.
    Local $iArraySum = 0

    ; Loop through the array.
    For $i = 1 To $aArray[0]
        ; Increment the sum by the number in each array element.
        $iArraySum += Number($aArray[$i])
    Next

    ; Return the average rounded to 2 decimal places.
    Return Round($iArraySum / $aArray[0], 2)
EndFunc   ;==>_Find_Average

Siehe auch

Verweise

Externe Links