AutoIt

AutoIt

AutoIt-logo.svg
Grunnleggende data

utvikler Jonathan Bennett & team
Forlagsår Januar 1999
Gjeldende  versjon 3.3.14.5
(16. mars 2018)
operativsystem Windows
programmeringsspråk C ++
kategori Skriptspråk
Tillatelse Gratisvare
Tysktalende Ja
www.autoitscript.com

AutoIt er programvare for å utføre skript som hovedsakelig kan automatiseres prosesser under Microsoft Windows , men også komplette Windows-programmer kan skrives. AutoIt er freeware og kjører på NT , 2000 , XP , Vista , 7 , 8 og 10 . Opp til versjon 2 var det åpen kildekode, og fra versjon 3 ble deler av kildekoden publisert under en restriktiv lisens. Bare noen få dokumentasjonsfiler er tilgjengelig for øyeblikket. Programmet gir brukeren et BASIC- lignende skriptspråk . Den inneholder også en tolk og en kompilator som kjørbare filer ( exe-filer ) kan opprettes med; dette gjør at AutoIt-skript kan kjøres på datamaskiner som ikke har AutoIt installert.

funksjon

AutoIt-skript simulerer blant annet tastetrykk og museklikk . Sekvensen kan gjøres avhengig av at en bestemt prosess kjører eller er avsluttet, eller at et bestemt vindu aktiveres, åpnes eller lukkes. Windows kan også minimeres, skjules, aktiveres eller lukkes; Filer og kataloger kan kjøres, kopieres, flyttes, omdøpes eller slettes. Innholdet på utklippstavlen og registreringsdatabasen kan også redigeres. Med versjon 3 (per august 2008) er følgende operasjoner mulig:

  • Oppretting av GUIer inkludert meldingsvinduer og inndatabokser
  • Automatisk sending av brukerinngang og tastetrykk til applikasjoner samt individuell kontroll i applikasjoner
  • Bruk av COM ( Component Object Modelling ) objekter
  • Funksjonsanrop i en Win32 DLL
  • Funksjonsanrop fra WinAPI
  • Utførelse av konsollapplikasjoner og tilgang til standard datastrømmer
  • Inkluderer filer i den kompilerte filen, som kan hentes ut på et definert tidspunkt
  • Spill av lydfiler, pause, fortsett, stopp, søk, gjeldende avspillingsposisjon og lengde på lyden
  • Utfør komplekse matteberegninger
  • Kommunikasjon via TCP og UDP- protokoll
  • Unicode-støtte fra versjon 3.2.4.0
  • Støtte for ActiveX- prosesser ( WSH / VBScript ) med utvidelsen "AutoItX"
  • Databasetilgang (for eksempel til SQLite [i installasjonspakken])
  • Automatisering av Internet Explorer
  • Automatisering av Microsoft Word og Microsoft Excel

Med versjon 3.2 er AutoIt utvidet kraftig, og mange programfeil er eliminert. I tillegg kan skript lagres som a3x-filer, og GUI-funksjonene er forbedret.

Eksempel på AutoIt-skript

$sName = InputBox("Fenstertitel", "Geben Sie hier Ihren Namen ein!")

Det vises en inndataboks som ber deg om å skrive inn navnet ditt. Navnet $sNamelagres i variabelen .

MsgBox(64, "Fenstertitel", "Hallo " & $sName & "!")

Med denne kommandoen vises en meldingsboks som $sNamesender ut innholdet til variabelen . Verdien 64 identifiserer vinduet som en “infoboks” (advarsler, spørsmål eller feilmeldinger er også mulig).

Eksempel på et avansert AutoIt-skript

#cs	Startet einen Kommentar-Block

Standard-Präfixe für Variablen:

	- $h 	- Handle von z. B. einem Fenster oder einer Datei
	- $id 	- ID's von Controls, wie z. B. Buttons und Eingabefelder
	- $s	- Strings (Zeichenketten)
	- $i	- Integers (Ganzzahlen)

	Variablennamen werden normalerweise in Englisch verfasst! (Kein Standard)

#ce	; Beendet einen Kommentar-Block


#include <FTPEx.au3> ; Einbinden von mehreren vordefinierten Scripten.
#include <GUIConstantsEx.au3>

;############# Änderbare Daten ################
$sIP = "IP von FTP-Server"
$sUser = "Benutzername vom FTP-Benutzer"
$sPassword = "Passwort vom FTP-Benutzer"
$sFTP_Path = "Pfad auf dem Server"
;##############################################

$hGUI = GUICreate("TestGUI", 445, 339) ; In der Mitte des Bildschirms wird mit der X-Koordinate 445, und der Y-Koordinate 339 ein Fenster gezeichnet.
GUISetBkColor(0xBFCDDB) ; Die Hintergrundfarbe wird vom Standard geändert.
$idSend = GUICtrlCreateButton("Versenden", 0, 288, 203, 49) ; Der "Versenden"-Knopf wird erstellt.
$idEdit = GUICtrlCreateEdit("", 0, 0, 441, 289) ; Ein Eingabefeld wird erstellt.
GUICtrlSetData($idEdit, "Beispiel-Text" & @CRLF & "Nächste Zeile") ; Ein Text wird in das Eingabefeld geschrieben. @CRLF markiert einen Zeilenumbruch.
GUICtrlSetBkColor($idEdit, 0xC0C0C0) ; Die Hintergrundfarbe des Eingabefeldes wird geändert.
GUISetState(@SW_SHOW) ; Das Fenster wird angezeigt.

While 1 ; Eine While-Schleife wird geöffnet, die immer wieder bestimmte Sachen abfragt. Endlosschleife, in diesem Fall die "Messageloop" des Fensters.
        $iMsg = GUIGetMsg() ; Die Variable die abgefragt werden soll, wird immer wieder neu erstellt. (Einmal pro durchlauf der Schleife.)
        Switch $iMsg ; Die Variable wird als Ereignisauslöser definiert.
            Case $GUI_EVENT_CLOSE ; Falls der "Schließenknopf"(X oben rechts in der Ecke) gedrückt wird,
                Exit ; beendet sich das Script.
            Case $idSend ; Falls der "Versenden"-Button gedrückt wird,
                _Put_on_FTP() ; wird die "_Put_on_FTP" Funktion ausgeführt.
        EndSwitch ; Die Abfrage der Variable $nMsg wird beendet.
WEnd ; Markiert das Ende einer "While"-Schleife(n) definition. Falls die Schleife endet, arbeitet das Skript von hier weiter.

Func _Put_on_FTP() ; Benutzerdefinierte Funktionen haben normalerweise das Präfix "_" und der Name sollte auch in Englisch gehalten sein.
        Local $sFilePath = "ftp.txt" ; Eine lokale Variable wird deklariert und ein Wert zugewiesen (diese ist nur in dieser Funktion verfügbar).

        $hFile = FileOpen($sFilePath, 10) ; Eine Datei wird zum Schreiben geöffnet, und falls sie nicht existiert, wird diese erstellt.
        $sText = GUICtrlRead($idEdit) ; Der Text aus dem Eingabefeld wird eingelesen.
        FileWrite($hFile, $sText) ; In die zuvor geöffnete Datei wird der Text aus der Variablen $sText geschrieben.
        FileClose($hFile) ; Die Datei wird geschlossen und die Ressourcen wird freigegeben.
        $hFTP = _FTP_Open("TestFTP") ; Die FTP-Sitzung wird gestartet.
        $hFTP_Connection = _FTP_Connect($hFTP, $sIP, $sUser, $sPassword) ; Eine FTP-Verbindung zum angegebenen Server wird aufgebaut.
        If @error <> 0 Then ; Falls @error ungleich 0 ist (ein Fehler ist aufgetreten),
                MsgBox(0, "Error", "Der FTP-Server scheint nicht erreichbar zu sein.") ; Eine Fehlermeldung wird ausgegeben.
            ElseIf @error = 0 Then ; Falls @error gleich 0 ist (kein Fehler ist aufgetreten),
                _FTP_FilePut($hFTP_Connection, $sFilePath, $sFTP_Path) ; wird Die Testdatei auf den Server geschrieben.
                If @error Then ; Falls es einen Fehler gibt, ...
                        MsgBox(0, "Error", "Es trat ein Fehler beim Übertragen auf.") ; ... wird eine Fehlermeldung angezeigt, ansonsten ...
                    Else ; Wenn kein Fehler aufgetreten ist,
                        MsgBox(0, "Erfolg", "Die Datei wurde erfolgreich übertragen.") ; ... war die Operation erfolgreich.
                EndIf ; Die If-Abfrage wird geschlossen.
        EndIf ; Die erste If-Abfrage wird geschlossen.
        _FTP_Close($hFTP) ; Die FTP-Verbindung wird geschlossen und die FTP-Sitzung wird beendet.
        FileDelete($sFilePath) ; Die temporäre Datei wird gelöscht.

        Return ; Funktion beenden und mit der eigentlichen Skript-Ausführung fortfahren.
EndFunc ; Markiert das Ende einer Funktion.

Utvidelser og tilleggsprogrammer

  • Det er en tilpasset versjon ("SciTE4AutoIt3") av SciTE som et integrert utviklingsgrensesnitt (IDE) for AutoIt. Freeware-programredigereren støtter syntaksutheving samt automatisk fullføring og noen makroer for å lage ofte brukte syntakselementer. SciTE4AutoIt3 kan lastes ned gratis fra AutoIt-hjemmesiden.
  • Tallrike tilleggsfunksjoner er tilgjengelige via såkalte brukerdefinerte funksjoner (UDFer) eller inkluderer; Takket være utvidelser opprettet av samfunnet, inkluderer det nåværende funksjonsområdet mye mer enn listen ovenfor.
  • KODA-Form-Designer muliggjør forenklet oppretting av grafiske grensesnitt (GUI, Grafiske brukergrensesnitt) for AutoIt-skript.
  • Tidy "rydder opp" et AutoIt-skript ved å korrigere innrykk, bruk av store bokstaver, kommentarer og mer.
  • Med CodeWizard kan meldingsbokser (meldingsvinduer), inndatabokser (inndatavinduer) og mye mer genereres. Det er en online versjon av meldingsboksen generator.
  • AutoIt Window Info er en utvidelse som brukes til å lese informasjon fra et vindu eller musepekeren (f.eks. Vindu eller museposisjon, pikselfarger, kontrollkoordinater).
  • Punktene nevnt ovenfor er alle allerede integrert i SciTE4AutoIt3.

Se også

  • AutoHotkey - Alternativ programvare under en åpen kildekode-lisens, som er hentet fra versjon 2 av AutoIt

weblenker

Individuelle bevis

  1. Jon: AutoIt-kildekode. I: AutoItScript Forum. 8. februar 2005, åpnet 4. september 2018 .
  2. Endringslogg