AutoIt — Windows scriptsprog til automatisering, scripting og eksekverbare filer

AutoIt: gratis Windows-scriptsprog til automatisering, scripting og kompilering til eksekverbare filer — nem IDE, UDF-biblioteker og kraftfuld BASIC-lignende syntaks.

Forfatter: Leandro Alegsa

AutoIt /ɔːtoʊ ɪt/ er et freeware programmeringssprog til Microsoft Windows. Det blev oprindeligt udviklet som et simpelt skriptsprog til at automatisere gentagne muse- og tastaturhandlinger i Windows-programmer (ofte omtalt som makroer). Fra version 3 er sproget blevet udvidet og er nu et fuldt udbygget, general-purpose scriptsprog med en syntaks, der ligner BASIC, og med understøttelse af mere avancerede datatyper såsom arrays.

Sprog, funktioner og anvendelsesområder

AutoIt bruges primært til automation og scripting på Windows: automatisering af brugergrænseflader, tests af programmer, installation- og udrulningsscripts, simple systemadministrationsopgaver og prototyper. Blandt sprogets centrale muligheder er:

  • GUI-automation: funktioner til at finde vinduer, sende tastetryk og museklik, styre kontrolelementer og vente på vinduesbegivenheder.
  • Oprettelse af GUI'er: indbyggede funktioner som GUICreate, GUISetState og kontrol-API'er til at bygge simple grafiske brugerflader.
  • Integration og udvidelsesmuligheder: COM-automation, kald til WinAPI og DLL'er, adgang til filsystem, registry, INI-filer og netværksressourcer.
  • Tekstbehandling og regulære udtryk: funktioner til strenghåndtering, søgning/erstatning og mønstermatchning.
  • Konvertering til eksekverbare filer: AutoIt-scripts kan kompileres til selvstændige .exe-filer og køres på maskiner uden AutoIt installeret.

Scriptbiblioteker og UDF'er

Der findes et stort økosystem af udvidelser, kaldet UDF'er (User Defined Functions). Nogle UDF'er leveres sammen med installationen; andre findes i fællesskabets arkiver og forum. UDF'er kan tilføje funktionalitet som avanceret GUI-komponenter, netværksprotokoller, kryptering, databaseadgang og integration med tredjepartsapplikationer.

IDE og værktøjer

AutoIt leveres med et specielt udviklingsmiljø baseret på SciTE. Dette integrerede udviklingsmiljø indeholder editor, help-filer og kompileringsværktøjer, hvilket giver et standardiseret miljø for udvikling og distribution. Den officielle IDE er tilgængelig som en pakke, der også indeholder værktøjer til at kompilere scripts til eksekverbare filer (Aut2Exe) og til at generere dokumentation.

Du kan bruge integreret udviklingsmiljø eller tredjepartseditore med AutoIt-syntaksfremhævning og debugging-værktøjer. Mange brugere benytter desuden community-fora til at dele eksempelkode, UDF'er og vejledninger.

Eksempel

Et meget kort AutoIt-eksempel, som viser en beskedboks og starter Notesblok:

MsgBox(0, "Hej", "Dette er et AutoIt-script") Run("notepad.exe")

Sikkerhed og bemærkninger

AutoIt er et kraftfuldt værktøj, og derfor kan det misbruges til skadelig automatisering. Kompilerede AutoIt-programmer kan i nogle tilfælde udløse falske positiver i antivirusprogrammer, især hvis de bruges til at automatisere installations- eller netværksaktiviteter. Det er en god praksis at signere distribuerede .exe-filer, dokumentere formålet med scriptene og dele kildekoden, når det er muligt.

Fællesskab og ressourcer

AutoIt har et aktivt brugerfællesskab med dokumentation, fora, eksempelkode og et stort bibliotek af UDF'er. Disse ressourcer gør det nemmere både for begyndere og erfarne udviklere at komme i gang og udvide sproget til deres behov.

Bemærk: AutoIt omtales ofte som et gratis (freeware) værktøj; licens- og distributionsvilkår kan ændre sig over tid, så læs altid den medfølgende dokumentation og licensinformation ved installation.

 skærmbillede af et typisk AutoIT-scriptZoom
skærmbillede af et typisk AutoIT-script

Funktioner

  • Scripting-sprog med BASIC-lignende struktur til Windows
  • Kompilering til selvstændige eksekverbare filer
  • Tilføjelsesbiblioteker og moduler til specifikke programmer eller apps
  • Understøtter TCP- og UDP-protokoller
  • Understøtter komponentobjektmodellen (COM)
  • Kald funktioner i DLL-filer
  • Kør konsol-apps og få adgang til standardstreams
  • Medtag datafiler i den kompilerede fil, der skal udtrækkes, når du kører
  • Oprette grafiske brugergrænseflader, herunder besked- og indtastningsbokse
  • Afspil lyde, pause, genoptag, stop, søg, få den aktuelle position for lyden og få lydens længde
  • Simulere musebevægelser
  • Manipulere vinduer og processer
  • Automatisér afsendelse af brugerinput og tastetryk til apps samt til individuelle kontroller i en app
  • Unicode-understøttelse fra version 3.2.4.0
  • Understøttelse af 64-bit kode fra version 3.2.10.0
  • Understøtter regulære udtryk
  • Kompatibel med kontrol af brugerkonti
  • Objektorienteret design gennem et bibliotek



Anvendelse

AutoIt bruges ofte til at producere hjælpeprogrammer til Microsoft Windows. Disse programmer kan automatisere rutineopgaver. Eksempler på anvendelse er: systemadministration, overvågning, vedligeholdelse og softwareinstallation. Det bruges også til at simulere brugerinteraktion. I dette tilfælde "styres" et program til at gøre ting af et AutoIt-script, der opfører sig som en menneskelig bruger. Et AutoIT-script kan trykke på taster, klikke med musen, skrive tekst osv. På denne måde simulerer det en menneskelig bruger af et program.

AutoIt er blevet anvendt til billig laboratorieautomatisering. Anvendelserne omfatter bl.a. instrumentsynkronisering, alarmovervågning og indsamling af resultater. Enheder som f.eks. 3D-printere kan også styres.



Eksempler

Hej verden

; Gør et bibliotek med konstante værdier tilgængeligt. #include < MsgBoxConstants. au3> ; Viser "Hello, world!" i en messagebox. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automatisering af Windows-regnemaskinen

; Gør et bibliotek med konstante værdier tilgængeligt. #include < MsgBoxConstants. au3> ; Viser en beskedboks med en timeout på 6 sekunder. MsgBox($MB_OK, "Attention", "Undgå at røre ved tastaturet eller musen under automatiseringen.", 6) ; Kør Windows-regnemaskinen. Run("calc.exe") ; Vent på, at lommeregneren bliver aktiv med en timeout på 10 sekunder. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Hvis lommeregneren ikke er dukket op efter 10 sekunder, afsluttes scriptet. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Indtast automatisk det aktuelle årstal i lommeregneren. Send(@ÅR) ; Lad os bremse scriptet lidt ned, så vi kan se, hvad der foregår. Sleep(600) ; Indtast automatisk "divider med 4", og sov derefter 600 ms. Send("/4") Sleep(600) ; Tryk på returtasten for at vise resultatet, og sov 600 ms. Send("{ENTER}") Sleep(600) ; Kopier resultatet til udklipsholderen ved hjælp af Windows-genvejen Ctrl+C. Send("^c") ; Deklarér og tildeler indholdet af udklipsholderen til en variabel. Local $fResult = ClipGet() ; Kontroller, om variablen indeholder et decimalkomma eller ej. If StringInStr($fResult, ".") Then ; Viser en beskedboks med en timeout på 5 sekunder.     MsgBox($MB_OK, "Skudår", @YEAR & " er ikke et skudår.", 5) Else ; Denne meddelelse vises kun, hvis det aktuelle år er et skudår.     MsgBox($MB_OK, "Skudår", @ÅR & " er et skudår.", 5) EndIf ; Luk Windows-regnemaskinen - ryd altid op bagefter. WinClose("[CLASS:CalcFrame]")

Find gennemsnit

; Find Average by JohnOne, ændret af czardas #include < MsgBoxConstants. au3> _Example() ; Kør eksemplet.  Func _Example() ; Viser et indtastningsfelt og beder brugeren om at indtaste nogle tal adskilt af kommaer.     Local $sInput = InputBox("Find Average", "Indtast nogle tal adskilt af kommaer: 1,2,42,100,3")        ; Hvis der opstår en fejl, afsluttes scriptet.    If @error Then Exit ; Udfyld et array med brugerens input.     Local $aSplit = StringSplit($sInput, ",") ; Overfør arrayet til funktionen _Find_Average() og kontroller derefter for fejl.     Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Vis resultatet i en meddelelsesboks.     MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_Eksempel Func _Find_Average($aArray) ; Hvis input ikke er af den korrekte type (et array), returneres en fejl sammen med detaljerne.     If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))   ; Der er mulighed for mere detaljerede kontroller, men for kortfattethedens skyld udføres der kun én her. ; Deklarere en variabel til at gemme summen af tallene.     Local $iArraySum = 0 ; Sløjfe gennem arrayet.     For $i = 1 To $aArray[0] ; Forøg summen med tallet i hvert array-element.         $iArraySum += Number($aArray[$i]) Next ; Returnerer gennemsnittet afrundet til 2 decimaler.     Return Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



Historie

  • Januar 1999 - Første AutoIt-version (1.0)
  • August 1999 - AutoIt v2 og AutoItX
  • September 1999 - Første AutoIt-version med compiler
  • December 2002 - AutoIt v3 (offentlig beta)
  • Februar 2004 - AutoIt v3 (stabil)
  • September 2006 - Auto3Lib startede
  • November 2007 - AutoIt v3.2.10.0 udgivet, Auto3Lib inkorporeret i AutoIt v3
  • Maj 2008 - AutoIt v3.2.12.0 udgivet, med tilføjede GUI-funktioner
  • December 2008 - AutoIt (og AutoItX) v3.3.0.0.0 udgivet
  • December 2009 - AutoIt v3.3.2.2.0 udgivet
  • Januar 2010 - AutoIt v3.3.4.0 udgivet
  • Marts 2010 - AutoIt v3.3.6.0 udgivet
  • April 2010 - AutoIt v3.3.6.1 udgivet
  • December 2011 - AutoIt v3.3.8.0 udgivet
  • Januar 2012 - AutoIt v3.3.8.1 udgivet
  • December 2013 - AutoIt v3.3.10.0 udgivet
  • Juni 2014 - AutoIt v3.3.12.0 udgivet
  • Juli 2015 - AutoIt v3.3.14.0 og v3.3.14.1 udgivet
  • September 2015 - AutoIt v3.3.14.2 udgivet
  • Februar 2018 - AutoIt v3.3.14.3 udgivet



Licens

Udviklerne af AutoIt frigav oprindeligt kildekoden under GNU General Public License (GPL).

I 2006 blev licensen ændret for version 3.2.0 og senere versioner til deres egen lukkede kildekode-licens.

Noget af koden fra version 3.1 blev brugt til at skabe en fork af AutoHotkey-projektet. Dette var tilladt i henhold til GPL-licensbetingelserne. AutoHotkey-fællesskabet fortsætter med at udvikle og frigive koden under GPL.



Spørgsmål og svar

Q: Hvad er AutoIt?


A: AutoIt er et freeware programmeringssprog til Microsoft Windows.

Q: Hvordan blev AutoIt brugt i version 1 og 2?


A: I version 1 og 2 blev det brugt til at oprette automatiseringsskripter til Microsoft Windows-programmer, også kendt som makroer.

Spørgsmål: Hvad blev ændret i version 3 af AutoIt?


Svar: Scriptsproget i version 3 blev udvidet, så det kunne gøre flere ting, og syntaksen blev ændret, så den ligner BASIC-programmeringssproget.

Spørgsmål: Hvilken type data kan et AutoIt-script indeholde?


Svar: Et AutoIt-script kan indeholde datatyper som f.eks. arrays.

Spørgsmål: Kan et AutoIt-script køres på computere uden at fortolkeren er installeret?


Svar: Ja, et AutoIt-script kan konverteres til en selvstændig eksekverbar fil, som kan køres på computere, der ikke har fortolkeren installeret.

Spørgsmål: Er der ekstra evner til rådighed for sproget?


A: Ja, der findes en lang række funktionsbiblioteker, kendt som UDF'er eller "User Defined Functions", hvoraf nogle er inkluderet som standard og andre kan fås fra webstedet, som tilføjer ekstra muligheder til sproget.

Spørgsmål: Er der en særlig editor til udvikling med AutoIt?


A: Ja, der findes en særlig editor baseret på den gratis SciTE-editor, som indeholder både en compiler og hjælpetekst, der giver udviklerne et standardmiljø til udvikling.


Søge
AlegsaOnline.com - 2020 / 2025 - License CC3