AutoIt

AutoIt /ɔːtoʊ ɪt/ är ett gratis programmeringsspråk för Microsoft Windows. I versionerna 1 och 2 användes det för att skapa automatiseringsskript för Microsoft Windows-program. Dessa kallas ibland för makron. I version 3 utökades programmeringsspråket så att det kunde göra fler saker.

Skriptspråket i AutoIt 1 och 2 var statement-driven. Det var utformat för att simulera en användares inmatning till datorn. Från och med version 3 ändrades AutoIt-syntaxen. Den liknar nu programmeringsspråket BASIC. AutoIt version 3 är ett programmeringsspråk för allmänna ändamål. Det kan ha datatyper, t.ex. matriser.

Ett AutoIt-skript kan konverteras till en fristående körbar fil. Detta kan köras på datorer som inte har AutoIt-tolken installerad. Ett stort antal funktionsbibliotek finns tillgängliga. De är kända som UDF:er eller "User Defined Functions" (användardefinierade funktioner). Vissa ingår som standard. Andra finns tillgängliga på webbplatsen. De ger språket extra möjligheter. AutoIt har en särskild editor, en integrerad utvecklingsmiljö (IDE). Den är baserad på den kostnadsfria editorn SciTE. Kompilatorn och hjälptexten ingår i denna speciella editor och ger en standardmiljö för utvecklare.



 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.

AlegsaOnline.com - 2020 / 2023 - License CC3