AutoIt — brezplačen skriptni in programski jezik za avtomatizacijo Windows

AutoIt /ɔːtoʊ ɪt/ je brezplačni programski jezik za Microsoft Windows. V različicah 1 in 2 se je uporabljal za ustvarjanje skript za avtomatizacijo programov Microsoft Windows. Včasih jih imenujemo makri. V različici 3 je bil programski jezik razširjen, tako da je omogočal več stvari. AutoIt je namenjen avtomatizaciji ponavljajočih se opravil v okolju Windows: simulaciji vnosa z miško in tipkovnico, upravljanju oken in procesov, delu z datotekami in registri, oddaljenemu upravljanju, manipulaciji z besedilom ter komunikaciji prek COM in DLL klicev. Zaradi širokega nabora funkcij ga uporabljajo sistemski administratorji, razvijalci testov, ustvarjalci namestitvenih skriptov in navdušenci za avtomatizacijo.

Značilnosti in jezik

Skriptni jezik v programih AutoIt 1 in 2 je temeljil na stavkih. Zasnovan je bil za simulacijo uporabnikovega vnosa v računalnik. Od različice 3 naprej se je sintaksa programa AutoIt spremenila. Zdaj je podobna programskemu jeziku BASIC. Različica 3 programa AutoIt je splošni programski jezik. Ima lahko vrste podatkov, kot so polja.

AutoIt ima enostavno in berljivo sintakso, dinamično tipiziranje ter širok nabor vgrajenih funkcij za obvladovanje oken, interakcijo z uporabniškim vmesnikom, delo z nizih, datotekami, časovnimi odmerki, mrežnimi operacijami ter krmiljenjem procesov. Podpira tudi:

  • UDF (User Defined Functions) — knjižnice, ki razširjajo funkcionalnost (npr. za delo z XML, baze podatkov, HTTP, GUI komponente).
  • COM in DLL klice — omogoča integracijo z zunanjimi komponentami in uporabo sistemskih API-jev.
  • Ustvarjanje grafičnih vmesnikov (GUI) — z vgrajenimi ukazi lahko ustvarite okna, gumbe, vnose itd.
  • Hotkeys, hotstrings in dogodki — za odzivanje na tipke, bližnjice in sistemske dogodke.
  • Sledenje pikslom in barvam — pri avtomatizaciji grafičnih aplikacij lahko zazna položaj in barvo na zaslonu.

Pretvorba v izvršljivo datoteko in distribucija

Skripto AutoIt lahko pretvorite v samostojno izvršilno datoteko. To lahko zaženete na računalnikih, ki nimajo nameščenega prevajalnika AutoIt. Na voljo so številne knjižnice funkcij. Znane so kot UDF ali "uporabniško definirane funkcije". Nekatere so vključene kot standard. Druge so na voljo na spletnem mestu. Jeziku dodajajo dodatne zmožnosti. AutoIt ima poseben urejevalnik, integrirano razvojno okolje ali IDE. Temelji na brezplačnem urejevalniku SciTE. Prevajalnik in besedilo pomoči sta vključena v ta posebni urejevalnik in zagotavljata standardno okolje za razvijalce.

Za pretvorbo skript v samostojne .exe datoteke se običajno uporablja orodje Aut2Exe (vključeno v namestitveni paket). Kompilacija združi skript z interpretom in izbrano ikonografijo ter nastavitvami, kar omogoča enostavno distribucijo. Obstajajo tudi oznake (include directives) in možnosti #AutoIt3Wrapper, ki omogočajo nadzor nad procesom kompilacije, vključno z nastavitvami za ikone, kompresijo in prikaz informacij o datoteki.

IDE, dokumentacija in skupnost

Osnovno razvojno okolje za AutoIt je prilagojeni SciTE (imenovan SciTE4AutoIt3), ki vsebuje poudarjanje sintakse, samodokončevanje, tipko za prevajanje, vgrajeno pomoč in primerjanje skriptov. Dokumentacija je obsežna in vključuje seznam vseh vgrajenih funkcij ter številne primere uporabe.

Obsežna skupnost uporabnikov prispeva UDF knjižnice, skripte in vodi forume ter wiki z rešitvami. Na skupnostnih straneh najdete primere za avtomatizacijo namestitev, testiranje programov, rutinsko administracijo, pa tudi naprednejše primere integracije z drugimi orodji.

Uporaba in primeri

AutoIt se pogosto uporablja za:

  • Avtomatizacijo namestitev in konfiguracij programske opreme.
  • Izdelavo skript za testiranje uporabniškega vmesnika (UI testing).
  • Ustvarjanje orodij za administracijo sistema in upravljanje nalog.
  • Hitre prototipe malih programčkov z grafičnim vmesnikom.

Primer preprostega skripta (konceptualno):

zaženi program, počakaj, povej oknu, da se aktivira, pošlji nekaj tipk in prikaži sporočilo o koncu.

Varnost in omejitve

Ker AutoIt omogoča ustvarjanje samostojnih izvršljivih programov in nadzor sistema, je treba pri distribuciji skriptov upoštevati varnostne prakse: preverite vir skriptov, uporabljajte protivirusne preglede ter digitalne podpise, kjer je to potrebno. Zaradi svojih zmožnosti je AutoIt včasih zlorabljen za ustvarjanje škodljive programske opreme, kar pomeni, da lahko nekateri varnostni sistemi lažno zaznajo legitimne skripte kot sumljive. Pri razvoju in uporabi bodite pozorni na varnostne politike v organizaciji.

Namestitev in viri

AutoIt je na voljo kot namestitveni paket za Windows, ki vključuje prevajalnik, orodja za kompilacijo, urejevalnik (SciTE) in obsežno pomoč. Poleg uradnih virov skupnost zagotavlja dodatne knjižnice (UDF), primere in vodiče. Čeprav ta članek ne navaja neposrednih povezav, so uradna dokumentacija in forumi dobro izhodišče za nadaljnje učenje.



 zaslonska slika tipične skripte AutoITZoom
zaslonska slika tipične skripte AutoIT

Značilnosti

  • skriptni jezik s strukturo, podobno jeziku BASIC, za Windows
  • Kompiliranje v samostojne izvršilne datoteke
  • Dodatne knjižnice in moduli za določene aplikacije ali aplikacije
  • Podpira protokole TCP in UDP
  • Podpira objektni model komponent (COM)
  • Klicanje funkcij v datotekah DLL
  • Zagon konzolnih aplikacij in dostop do standardnih tokov
  • Vključitev podatkovnih datotek v sestavljeno datoteko, ki se ekstrahira ob zagonu
  • Ustvarjanje grafičnih uporabniških vmesnikov, vključno s sporočilnimi in vnosnimi polji.
  • Predvajanje zvokov, premor, nadaljevanje, ustavitev, iskanje, trenutni položaj zvoka in dolžina zvoka
  • Simulacija gibanja miške
  • Manipuliranje z okni in procesi
  • Avtomatizirano pošiljanje uporabniškega vnosa in pritiskov tipk aplikacijam ter posameznim upravljalnim elementom v aplikaciji.
  • Podpora za Unicode od različice 3.2.4.0
  • Podpora za 64-bitno kodo od različice 3.2.10.0
  • Podpira običajne izraze
  • Združljiv z nadzorom uporabniškega računa
  • Objektno usmerjeno načrtovanje s pomočjo knjižnice



Uporaba

Program AutoIt se pogosto uporablja za izdelavo uporabne programske opreme za Microsoft Windows. Ti programi lahko avtomatizirajo rutinska opravila. Primeri uporabe vključujejo: upravljanje sistemov, spremljanje, vzdrževanje in namestitev programske opreme. Uporablja se tudi za simulacijo interakcije z uporabnikom. Pri tej uporabi program "poganja" skript AutoIt, ki se obnaša kot človeški uporabnik. Skripta AutoIT lahko sproži pritiske tipk, klike miške, vnese besedilo itd. Na ta način simulira človeškega uporabnika aplikacije.

AutoIt se uporablja pri poceni laboratorijski avtomatizaciji. Aplikacije vključujejo sinhronizacijo instrumentov, spremljanje alarmov in zbiranje rezultatov. Nadzoruje lahko tudi naprave, kot so 3D-tiskalniki.



Primeri

Pozdravljen svet

; Dajte na voljo knjižnico konstantnih vrednosti. #include < MsgBoxConstants. au3> ; Prikaže "Hello, world!" v sporočilnem oknu. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Avtomatizacija kalkulatorja Windows

; Dajte na voljo knjižnico konstantnih vrednosti. #include < MsgBoxConstants. au3> ; Prikažite okno s sporočilom s časovnim rokom 6 sekund. MsgBox($MB_OK, "Attention", "Avoid touching keyboard or mouse during automation.", 6) ; Zaženite kalkulator Windows. Run("calc.exe") ; Počakajte, da kalkulator postane aktiven s časovnim rokom 10 sekund. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Če se kalkulator po 10 sekundah ni pojavil, zaključite skript. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Samodejno vnesite tekoče leto v kalkulator. Send(@YEAR) ; Upočasnimo skript, da bomo lahko videli, kaj se dogaja. Sleep(600) ; Samodejno vnesite 'delite s 4' in nato prespite 600 ms. Pošlji("/4") Sleep(600) ; Za prikaz rezultata pritisnite tipko return in prespite 600 ms. Pošlji("{ENTER}") Sleep(600) ; Rezultat kopirajte v odložišče z bližnjico Ctrl+C. Pošlji("^c") ; Deklarirajte spremenljivko in ji pripišite vsebino odložišča. Local $fResult = ClipGet() ; Preverite, ali spremenljivka vsebuje decimalno vejico ali ne. If StringInStr($fResult, ".") Then ; Prikažite okno s sporočilom s časovnim rokom 5 sekund.     MsgBox($MB_OK, "Prestopno leto", @YEAR & " ni prestopno leto.", 5) Else ; To sporočilo se prikaže samo, če je trenutno leto prestopno.     MsgBox($MB_OK, "Prestopno leto", @YEAR & " je prestopno leto.", 5) EndIf ; Zaprite kalkulator Windows - vedno ga nato pospravite. WinClose("[CLASS:CalcFrame]")

Poiščite povprečje

; Find Average by JohnOne, modified by czardas #include < MsgBoxConstants. au3> _Example() ; Zaženi primer.  Func _Example() ; Prikažite vnosno polje in prosite uporabnika, naj vnese nekaj številk, ločenih z vejicami.     Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")    ; Če je prišlo do napake, zaključite skripto.      If @error Then Exit ; Napolnite polje z uporabnikovim vnosom.     Local $aSplit = StringSplit($sInput, ",") ; Predajte polje funkciji _Find_Average() in nato preverite napake.     Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Prikažite rezultat v sporočilnem oknu.     MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_Primer Func _Find_Average($aArray) ; Če vnos ni pravilne vrste (polje), vrnite napako in podrobnosti.     If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))         ; Možni so tudi podrobnejši pregledi, vendar je zaradi kratkosti tukaj izveden samo eden. ; Razglasite spremenljivko za shranjevanje vsote števil.     Local $iArraySum = 0 ; Zanka skozi polje.     For $i = 1 To $aArray[0] ; Povečajte vsoto za število v vsakem elementu polja.         $iArraySum += Število($aArray[$i]) Naslednji ; Vrnite povprečje, zaokroženo na dve decimalni mesti.     Vrni Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



Zgodovina

  • januar 1999 - prva različica programa AutoIt (1.0)
  • avgust 1999 - AutoIt v2 in AutoItX
  • september 1999 - Prva različica programa AutoIt s prevajalnikom
  • december 2002 - AutoIt v3 (javna beta različica)
  • februar 2004 - AutoIt v3 (stabilen)
  • september 2006 - Auto3Lib se je začel uporabljati
  • november 2007 - AutoIt v3.2.10.0 izdan, Auto3Lib vključen v AutoIt v3
  • Maj 2008 - Izdan program AutoIt v3.2.12.0 z dodano funkcionalnostjo grafičnega vmesnika
  • december 2008 - AutoIt (in AutoItX) v3.3.0.0
  • december 2009 - AutoIt v3.3.2.0 je izšel
  • januar 2010 - Izdan program AutoIt v3.3.4.0
  • Marec 2010 - AutoIt v3.3.6.0 je izšel
  • april 2010 - AutoIt v3.3.6.1 je izšel
  • december 2011 - AutoIt v3.3.8.0 je izšel
  • januar 2012 - Izdan program AutoIt v3.3.8.1
  • december 2013 - AutoIt v3.3.10.0 je izšel
  • junij 2014 - AutoIt v3.3.12.0 je izšel
  • Julij 2015 - AutoIt v3.3.14.0 in v3.3.14.1 je izšel
  • september 2015 - AutoIt v3.3.14.2 je izšel
  • februar 2018 - AutoIt v3.3.14.3 je izšel



Licenca

Razvijalci programa AutoIt so izvirno kodo prvotno objavili pod splošno javno licenco GNU (GPL).

Leta 2006 je bila licenca za različico 3.2.0 in poznejše različice spremenjena v lastno zaprto licenco.

Del kode iz različice 3.1 je bil uporabljen za izdelavo vilice projekta AutoHotkey. To je bilo dovoljeno v skladu s pogoji licence GPL. Skupnost AutoHotkey še naprej razvija in objavlja kodo pod licenco GPL.



Vprašanja in odgovori

V: Kaj je AutoIt?


O: AutoIt je brezplačni programski jezik za Microsoft Windows.

V: Kako se je AutoIt uporabljal v različicah 1 in 2?


O: V različicah 1 in 2 se je uporabljal za ustvarjanje skript za avtomatizacijo programov Microsoft Windows, znanih tudi kot makri.

V: Kaj se je spremenilo v različici 3 programa AutoIt?


O: Skriptni jezik v različici 3 je bil razširjen, da je omogočal več stvari, sintaksa pa se je spremenila, da je bila podobna programskemu jeziku BASIC.

V: Kakšno vrsto podatkov lahko vsebuje skripta AutoIt?


O: Skripta AutoIt lahko vsebuje vrste podatkov, kot so polja.

V: Ali se lahko skripta AutoIt zažene na računalnikih brez nameščenega prevajalnika?


O: Da, skripto AutoIt je mogoče pretvoriti v samostojno izvršilno datoteko, ki se lahko zažene na računalnikih, ki nimajo nameščenega prevajalnika.

V: Ali so za jezik na voljo dodatne zmožnosti?


O: Da, na voljo so številne knjižnice funkcij, znane kot UDF ali "uporabniško definirane funkcije", nekatere so vključene kot standard, druge pa so na voljo na spletnem mestu in jeziku dodajajo dodatne zmožnosti.

V: Ali obstaja poseben urejevalnik za razvijanje s programom AutoIt?


O: Da, obstaja poseben urejevalnik, ki temelji na brezplačnem urejevalniku SciTE in vključuje tako prevajalnik kot besedilo pomoči, ki razvijalcem zagotavlja standardno okolje za razvoj.

AlegsaOnline.com - 2020 / 2025 - License CC3