AutoIt – gratis skriptspråk för Windows: automation, IDE och EXE

AutoIt — gratis skriptspråk för Windows: skapa kraftfull automation, kompilera skript till EXE, använd en inbyggd IDE och UDF-bibliotek för snabba lösningar.

Författare: Leandro Alegsa

AutoIt /ɔːtoʊ ɪt/ är ett gratis programmeringsspråk för Microsoft Windows. Ursprungligen (version 1 och 2) användes det främst för att skapa automatiseringsskript som simulerade användarinmatning — ibland kallade makron. Från och med version 3 utvecklades språket till ett mer komplett språk med struktur och funktioner som gör det användbart för allmän programmering och systemautomation.

Språk och syntax

Skriptspråket i AutoIt 1 och 2 var statement-driven och utformat för att efterlikna tangenttryckningar och musrörelser. Från version 3 ändrades syntaxen och den liknar nu programmeringsspråket BASIC. I AutoIt version 3 finns stöd för datastrukturer och funktioner som gör språket mer flexibelt — till exempel variabler, matriser, funktioner och felhantering.

Vad du kan göra med AutoIt

  • Automatisera GUI-interaktioner: öppna fönster, klicka knappar, fyll i formulär eller styra menyer.
  • Skapa egna grafiska gränssnitt (GUI) för små verktyg och hjälpprogram.
  • Hantera filer, kataloger och processer (kopiera, läsa/skapa filer, starta/stoppa program).
  • Arbeta med registret, schemaläggning, servicehantering och andra administrativa uppgifter.
  • Anropa Windows API och externa DLL:er, samt använda COM-automation för att styra andra applikationer.
  • Bygga enkla testskript för automatiserad testning av program och installationer.

Kompilera till körbar fil

Ett AutoIt-skript kan konverteras till en fristående körbar fil. Denna fristående EXE kan köras på datorer som inte har AutoIt-tolken installerad, vilket gör distribution enklare för användare som bara behöver köra verktyget.

IDE, verktyg och hjälp

AutoIt levereras med en särskild editor — en integrerad utvecklingsmiljö (IDE). Den är baserad på den fria editorn SciTE och innehåller kompilatorn samt omfattande hjälptext. Utöver IDE:n finns också verktyg som "AutoIt Window Info" (fönsterinfo) som underlättar identifiering av kontroller och fönsteregenskaper för automation.

UDF:er (User Defined Functions) och community

Ett stort bibliotek av funktionsbibliotek, så kallade UDF:er, finns tillgängligt. Vissa UDF:er följer med standardinstallationen medan många andra utvecklats och delas av användargemenskapen. Dessa utökar språket med funktioner för t.ex. nätverk, kryptering, avancerad GUI-hantering, webbläsarautomation och mycket mer.

Användningsområden och exempel

AutoIt används ofta av systemadministratörer, testare och utvecklare för att snabbt skapa skript som automatiserar repetitiva uppgifter. Vanliga tillämpningar är automatiska installationer, batch-uppgifter, snabbverktyg för felsökning och små användargränssnitt för interna processer.

Kort exempel

Nedan ett enkelt AutoIt-exempel som öppnar Anteckningar, skriver text och väntar på att fönstret stängs:

Run("notepad.exe") WinWaitActive("Untitled - Notepad") Send("Detta är ett AutoIt-exempel.{ENTER}") ; Väntar tills användaren stänger fönstret WinWaitClose("Untitled - Notepad")

Sammanfattning

AutoIt är ett lättanvänt, gratis skriptspråk för Windows med fokus på automation och snabba verktyg. Sedan version 3 har språket vuxit till att omfatta mer generella programmeringsfunktioner, stöd för externa bibliotek (UDF:er), en komplett IDE baserad på SciTE samt möjligheten att bygga fristående körbara filer — allt som gör det till ett praktiskt verktyg för både nybörjare och erfarna administratörer.

 Skärmdump av ett typiskt AutoIT-skript.Zoom
Skärmdump av ett typiskt AutoIT-skript.

Funktioner

  • Skriptspråk med BASIC-liknande struktur för Windows
  • Kompilering till fristående körbara filer
  • Tilläggsbibliotek och moduler för specifika program eller appar
  • Stöder TCP- och UDP-protokoll
  • Stödjer komponentobjektmodellen (COM)
  • Kalla funktioner i DLL-filer
  • Kör konsolprogram och få tillgång till standardströmmar
  • Inkludera datafiler i den kompilerade filen som ska extraheras vid körning.
  • Skapa grafiska användargränssnitt, inklusive meddelande- och inmatningsrutor.
  • Spela upp ljud, pausa, återuppta, stoppa, söka, få fram ljudets aktuella position och ljudets längd.
  • Simulera musrörelser
  • Manipulera fönster och processer
  • Automatisera sändning av användarinmatning och tangenttryckningar till appar, samt till enskilda kontroller i en app.
  • Unicode-stöd från version 3.2.4.0
  • Stöd för 64-bitars kod från version 3.2.10.0
  • Stöd för reguljära uttryck
  • Kompatibel med kontroll av användarkonton
  • Objektorienterad design genom ett bibliotek



Användning

AutoIt används ofta för att producera verktygsprogram för Microsoft Windows. Dessa program kan automatisera rutinuppgifter. Exempel på användning är: systemhantering, övervakning, underhåll och installation av programvara. Det används också för att simulera användarinteraktion. Vid denna användning "drivs" ett program till att göra saker av ett AutoIt-skript som beter sig som en mänsklig användare. Ett AutoIt-skript kan ge tangenttryckningar, musklick, skriva text och så vidare. På detta sätt simulerar det en mänsklig användare av ett program.

AutoIt har använts för billig laboratorieautomatisering. Tillämpningarna omfattar synkronisering av instrument, larmövervakning och insamling av resultat. Enheter som 3D-skrivare kan också styras.



Exempel

Hej, världen

; Gör ett bibliotek med konstanta värden tillgängligt. #include < MsgBoxConstants. au3> ; Visar "Hello, world!" i en meddelanderuta. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automatisera Windows-kalkylatorn

; Gör ett bibliotek med konstanta värden tillgängligt. #include < MsgBoxConstants. au3> ; Visa en meddelanderuta med en timeout på 6 sekunder. MsgBox($MB_OK, "Attention", "Undvik att röra tangentbordet eller musen under automatiseringen.", 6) ; Kör Windows-kalkylatorn. Run("calc.exe") ; Vänta på att kalkylatorn blir aktiv med en timeout på 10 sekunder. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Om miniräknaren inte visas efter 10 sekunder avslutar du skriptet. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Skriv automatiskt in det aktuella året i kalkylatorn. Send(@YEAR) ; Låt oss sakta ner skriptet lite så att vi kan se vad som händer. Sleep(600) ; Skriv automatiskt in "dividera med 4" och sov sedan 600 ms. Send("/4") Sleep(600) ; Tryck på returtangenten för att visa resultatet och sov 600 ms. Send("{ENTER}") Sleep(600) ; Kopiera resultatet till klippbordet med hjälp av Windows-genvägen Ctrl+C. Send("^c") ; Deklarera och tilldela innehållet i klippbordet till en variabel. Local $fResult = ClipGet() ; Kontrollera om variabeln innehåller en decimalpunkt eller inte. If StringInStr($fResult, ".") Then ; Visa en meddelanderuta med en timeout på 5 sekunder.     MsgBox($MB_OK, "Skottår", @YEAR & " är inte ett skottår.", 5) Else ; Detta meddelande visas endast om det aktuella året är ett skottår.     MsgBox($MB_OK, "Leap Year", @YEAR & " är ett skottår.", 5) EndIf ; Stäng Windows-kalkylatorn - städa alltid upp efteråt. WinClose("[CLASS:CalcFrame]")

Hitta genomsnittet

; Find Average by JohnOne, modified by czardas #include < MsgBoxConstants. au3> _Example() ; Kör exemplet.  Func _Example() ; Visa en inmatningsruta och be användaren att skriva in några siffror separerade med kommatecken.     Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")    ; Om ett fel inträffade, avsluta skriptet. If @error Then Exit ; Fyll en array med användarens inmatning.     Local $aSplit = StringSplit($sInput, ",") ; Skicka matrisen till funktionen _Find_Average() och kontrollera sedan om det finns fel.     Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Visa resultatet i en meddelanderuta.     MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_Exempel Func _Find_Average($aArray) ; Om inmatningen inte är av rätt typ (en array) returneras ett fel tillsammans med detaljerna.     If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))   ; Mer detaljerade kontroller är möjliga, men för att göra det kortfattat utförs bara en här. ; Deklarera en variabel för att lagra summan av siffrorna.     Local $iArraySum = 0 ; Slinga dig genom matrisen.     For $i = 1 To $aArray[0] ; Öka summan med numret i varje arrayelement.         $iArraySum += Number($aArray[$i]) Next ; Återge medelvärdet avrundat till två decimaler.     Return Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



Historia

  • Januari 1999 - Första AutoIt-versionen (1.0)
  • Augusti 1999 - AutoIt v2 och AutoItX
  • September 1999 - Första AutoIt-versionen med kompilator
  • December 2002 - AutoIt v3 (offentlig beta)
  • Februari 2004 - AutoIt v3 (stabil)
  • September 2006 - Auto3Lib startade
  • November 2007 - AutoIt v3.2.10.0 släpps, Auto3Lib införlivas i AutoIt v3.
  • Maj 2008 - AutoIt v3.2.12.0 släpptes, med nya GUI-funktioner.
  • December 2008 - AutoIt (och AutoItX) v3.3.0.0.0 släpptes
  • December 2009 - AutoIt v3.3.2.0 släppt
  • Januari 2010 - AutoIt v3.3.4.0 släppt
  • Mars 2010 - AutoIt v3.3.6.0 släppt
  • April 2010 - AutoIt v3.3.6.1 släppt
  • December 2011 - AutoIt v3.3.8.0 släppt
  • Januari 2012 - AutoIt v3.3.8.1 släppt
  • December 2013 - AutoIt v3.3.10.0 släppt
  • Juni 2014 - AutoIt v3.3.12.0 släppt
  • Juli 2015 - AutoIt v3.3.14.0 och v3.3.14.1 släpptes
  • September 2015 - AutoIt v3.3.14.2 släppt
  • Februari 2018 - AutoIt v3.3.14.3 släppt



Licens

Utvecklarna av AutoIt släppte ursprungligen källkoden under GNU General Public License (GPL).

År 2006 ändrades licensen för version 3.2.0 och senare versioner till en egen licens för sluten källkod.

En del av koden från version 3.1 användes av AutoHotkey-projektet för att skapa en gaffel. Detta var tillåtet enligt GPL-licensvillkoren. AutoHotkey-gruppen fortsätter att utveckla och släppa koden under GPL.



Frågor och svar

F: Vad är AutoIt?


S: AutoIt är ett gratis programmeringsspråk för Microsoft Windows.

F: Hur användes AutoIt i versionerna 1 och 2?


S: I versionerna 1 och 2 användes det för att skapa automatiseringsskript för Microsoft Windows-program, även kallade makron.

F: Vad ändrades i version 3 av AutoIt?


S: Skriptspråket i version 3 utökades så att det kunde göra fler saker, och syntaxen ändrades så att den liknade programmeringsspråket BASIC.

F: Vilken typ av data kan ett AutoIt-skript innehålla?


S: Ett AutoIt-skript kan innehålla datatyper som till exempel matriser.

F: Kan ett AutoIt-skript köras på datorer utan att tolken är installerad?


Svar: Ja, ett AutoIt-skript kan konverteras till en fristående körbar fil som kan köras på datorer som inte har tolken installerad.

F: Finns det några extra förmågor tillgängliga för språket?


S: Ja, det finns ett stort antal funktionsbibliotek som kallas UDF:er eller "User Defined Functions", varav vissa ingår som standard och andra är tillgängliga från webbplatsen och ger språket extra möjligheter.

F: Finns det en speciell editor för utveckling med AutoIt?


S: Ja, det finns en speciell editor som är baserad på den kostnadsfria SciTE-editorn och som innehåller både en kompilator och hjälptext som ger utvecklarna en standardmiljö för utveckling.


Sök
AlegsaOnline.com - 2020 / 2025 - License CC3