AutoIt — nemokama programavimo kalba Windows automatizavimui

AutoIt — nemokama, lengvai įvaldoma Windows automatizavimo kalba: kurkite skriptus, kompiliuokite į vykdomuosius, naudokite UDF bibliotekas ir integruotą SciTE IDE.

Autorius: Leandro Alegsa

AutoIt /ɔːtoʊ ɪt/ yra nemokama programavimo kalba, skirta "Microsoft Windows". Ji sukurta automatizuoti darbų eigą, valdyti langus, simuliuoti klaviatūros ir pelės įvestis bei vykdyti kitus pasikartojančius veiksmus operacinėje sistemoje.

Trumpa istorija ir versijos

"AutoIt 1" ir "AutoIt 2" skriptų kalba buvo grindžiama teiginiais ir daugiausia skirta imituoti naudotojo įvestį. Tokie scenarijai dažnai vadinami makrokomandomis. Nuo trečiosios versijos (AutoIt 3) kalba buvo gerokai išplėsta — jos sintaksė pasikeitė ir tapo arčiau tradicinių aukšto lygio kalbų, pvz. į BASIC panašios sintaksės. AutoIt 3 yra bendrosios paskirties programavimo kalba, leidžianti kurti tiek trumpus automatizavimo scenarijus, tiek sudėtingesnes programas.

Fundamentinės savybės

  • Langų ir sąveikos valdymas: leidžia rasti, aktyvuoti ir manipuliuoti langais bei valdikliais.
  • Įvedimo imitavimas: simuliuoja klaviatūros ir pelės veiksmus bei leidžia automatizuoti naudotojo sąsajos užduotis.
  • Failų ir tekstų tvarkymas: įtrauktas palaikymas failų įvesties/išvesties, teksto apdorojimo ir reguliariųjų išraiškų naudojimo.
  • Platus funkcijų rinkinys: įdiegta daugybė funkcijų darbui su eilutėmis, datomis, matematika, procesais ir kt.
  • Integracijos galimybės: palaiko COM objektus, tiesioginius DLL iškvietimus (DLLCall), tinklo ryšius ir kitus mechanizmus per papildomas bibliotekas.
  • UDF (User Defined Functions): vartotojų sukurtos bibliotekos papildo kalbą naujomis galimybėmis — nuo GUI kūrimo iki duomenų bazės ar el. pašto palaikymo.

Kompiliavimas ir kūrimo aplinka

"AutoIt" scenarijų galima paversti savarankiška vykdomąja programa, todėl sukurtus .au3 failus galima paleisti kompiuteriuose, kuriuose nėra įdiegtas AutoIt vertėjas. Tam naudojamas įrankis, dažnai pristatomas kaip aut2exe arba integruotas į specialią aplinką.

Kalbai yra skirta speciali redagavimo aplinka — integruotą kūrimo aplinką (IDE), kurią sudaro redaktorius, kompiliatorius ir pagalbos tekstas. Oficiali IDE dažnai yra pagrįsta SciTE redaktoriumi (SciTE4AutoIt3), suteikiant sintaksės paryškinimą, automatinį užbaigimą, klaidų aptikimą ir integruotą pagalbą.

Kaip veikia ir kam tinka

AutoIt ypač tinkamas šiems darbams:

  • programų diegimo automatizavimas ir diegimo skriptai;
  • reguliarūs administravimo darbai (pvz., failų archyvavimas, kopijavimas, konfigūracijų nustatymas);
  • naudotojo sąsajos testavimas ir automatizuoti testai;
  • greiti įrankiai, kuriuos galima greitai parašyti be sunkios programinės įrangos kūrimo struktūros.

AutoIt naudoja paprastą, lengvai įsisavinamą sintaksę, todėl jį greitai perpranta tiek pradedantieji automatizavimo specialistai, tiek patyrę programuotojai, ieškantys greitų sprendimų Windows platformoje.

UDF ir bendruomenė

Vartotojai ir trečiųjų šalių kūrėjai aktyviai kuria UDF bibliotekas, kurios išplečia AutoIt funkcionalumą. Dažniausiai pasitaikančios papildomos galimybės apima:

  • COM sąsajas ir automatizavimą;
  • GUI elementų kūrimą ir valdymą plačiau nei standartinis rinkinio dalis;
  • tinklo protokolų, duomenų bazių ar el. pašto palaikymą;
  • integraciją su kitomis programomis per API ar DLL iškvietimus.

Bendruomenė teikia dokumentaciją, pavyzdžius, forumus ir scenarijų pavyzdžius, todėl mokymasis ir problemų sprendimas dažnai vyksta greitai ir patogiai.

Pavyzdys

Štai paprastas AutoIt scenarijus, kuris atidaro Notepad, įrašo tekstą ir išsaugo failą (pavyzdys iliustracijai):

Run("notepad.exe") WinWaitActive("Untitled - Notepad") Send("Sveiki! Tai AutoIt pavyzdys.{ENTER}") Send("^s") ; Ctrl+S WinWaitActive("Save As") Send("pavyzdys.txt{ENTER}") 

Išvados

AutoIt yra praktiška ir lengvai prieinama priemonė Windows automatizavimui — nuo paprastų makrokomandų iki sudėtingesnių programų. Dėl plačios standartinių funkcijų rinkinio, galimybės plėsti funkcionalumą per UDF bei integruotos IDE, AutoIt išlieka populiarus tarp sistemų administratorių, testuotojų ir visų, kam reikia automatizuoti Windows aplinkos užduotis.

 tipinio AutoIT scenarijaus ekrano nuotraukaZoom
tipinio AutoIT scenarijaus ekrano nuotrauka

Funkcijos

  • Skriptų kalba su BASIC struktūra, skirta "Windows
  • Kompiliavimas į atskiras vykdomąsias programas
  • Papildomos bibliotekos ir moduliai, skirti konkrečioms programoms ar programėlėms.
  • Palaikomi TCP ir UDP protokolai
  • Komponentų objektų modelio (COM) palaikymas
  • DLL failų funkcijų iškvietimas
  • Paleiskite konsolės programas ir pasiekite standartinius srautus
  • Įtraukti duomenų failus į parengtą failą, kuris bus ištrauktas paleidžiant
  • Kurti grafines naudotojo sąsajas, įskaitant pranešimų ir įvesties langelius
  • Garsų atkūrimas, pristabdymas, atnaujinimas, sustabdymas, ieškojimas, dabartinės garso padėties nustatymas ir garso trukmės nustatymas
  • Imituoti pelės judesius
  • Manipuliuoti langais ir procesais
  • Automatizuoti naudotojo įvesties ir klavišų paspaudimų siuntimą į programas, taip pat į atskirus programos valdiklius.
  • "Unicode" palaikymas nuo 3.2.4.0 versijos
  • 64 bitų kodo palaikymas nuo 3.2.10.0 versijos
  • Palaiko reguliarias išraiškas
  • Suderinama su vartotojo paskyros valdymu
  • Į objektus orientuotas projektavimas naudojant biblioteką



Naudojimas

"AutoIt" dažnai naudojama "Microsoft Windows" pagalbinei programinei įrangai kurti. Šios programos gali automatizuoti įprastas užduotis. Naudojimo pavyzdžiai: sistemų valdymas, stebėjimas, priežiūra ir programinės įrangos diegimas. Ji taip pat naudojama naudotojo sąveikai imituoti. Šiuo atveju programa "varoma" atlikti veiksmus "AutoIt" scenarijumi, kuris elgiasi kaip žmogus vartotojas. AutoIT scenarijus gali paspausti klavišus, spustelėti pelę, įvesti tekstą ir pan. Tokiu būdu jis imituoja žmogiškąjį taikomosios programos naudotoją.

"AutoIt" buvo naudojamas pigiai laboratorijų automatizavimui. Taikomos šios priemonės: prietaisų sinchronizavimas, pavojaus signalų stebėjimas ir rezultatų rinkimas. Taip pat galima valdyti tokius prietaisus kaip 3D spausdintuvai.



Pavyzdžiai

Sveikas pasauli

; Suteikite galimybę naudotis pastoviųjų verčių biblioteka. #include < MsgBoxConstants. au3> ; Rodo "Hello, world!" pranešimų langelyje. MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

"Windows" skaičiuotuvo automatizavimas

; Suteikite galimybę naudotis pastoviųjų verčių biblioteka. #include < MsgBoxConstants. au3> ; Rodyti pranešimų langą su 6 sekundžių trukme. MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6) ; Paleiskite "Windows" skaičiuotuvą. Paleisti("calc.exe") ; Palaukite, kol skaičiuotuvas taps aktyvus ir bus nustatytas 10 sekundžių laiko limitas. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Jei skaičiuotuvas nepasirodė po 10 sekundžių, išeikite iš scenarijaus. If WinExists("[CLASS:CalcFrame]") = 0 Then Exit ; Automatiškai įveskite einamuosius metus į skaičiuotuvą. Send(@YEAR) ; Šiek tiek sulėtinkime scenarijų, kad matytume, kas vyksta. Sleep(600) ; Automatiškai įveskite "dalinti iš 4", tada užmigdykite 600 ms. Siųsti("/4") Sleep(600) ; Paspauskite klavišą Return, kad būtų parodytas rezultatas, ir užmigdykite 600 ms. Siųsti("{ENTER}") Sleep(600) ; Rezultatą nukopijuokite į iškarpinę naudodami "Windows" spartųjį klavišą Ctrl+C. Siųsti("^c") ; Paskelbkite ir priskirkite iškarpinės turinį kintamajam. Local $fResult = ClipGet() ; Patikrinkite, ar kintamajame yra dešimtainis taškas, ar ne. If StringInStr($fResult, ".") Then ; Parodykite pranešimo langą su 5 sekundžių trukme.     MsgBox($MB_OK, "Keliamieji metai", @YEAR & " nėra keliamieji metai.", 5) Else ; Šis pranešimas bus rodomas tik tuo atveju, jei dabartiniai metai yra keliamieji.     MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5) EndIf ; Uždarykite "Windows" skaičiuotuvą - po to visada sutvarkykite. WinClose("[CLASS:CalcFrame]")

Rasti vidurkį

; Find Average by JohnOne, modified by czardas #include < MsgBoxConstants. au3> _Example() ; Paleiskite pavyzdį.  Func _Example() ; Parodykite įvesties langą ir paprašykite naudotojo įvesti kelis kableliais atskirtus skaičius.     Local $sInput = InputBox("Find Average", "Įveskite kelis kableliais atskirtus skaičius: 1,2,42,100,3")          ; Jei įvyko klaida, išeikite iš scenarijaus. If @error Then Exit ; Užpildykite masyvą naudotojo įvesties duomenimis.     Local $aSplit = StringSplit($sInput, ",") ; Perduokite masyvą funkcijai _Find_Average() ir patikrinkite, ar nėra klaidų.     Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Parodykite rezultatą pranešimo lange.     MsgBox($MB_OK, "Find Average", "Result: " & $fAverage") EndFunc ;==>_Pavyzdys Func _Find_Average($aArray) ; Jei įvestis nėra tinkamo tipo (masyvas), tuomet grąžinama klaida ir pateikiama išsami informacija.     If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))   ; Galima atlikti ir daugiau išsamių patikrinimų, tačiau trumpumo dėlei čia atliekamas tik vienas. ; Paskelbkite kintamąjį, kuriame bus saugoma skaičių suma.     Local $iArraySum = 0 ; Pasukite per masyvą.     For $i = 1 To $aArray[0] ; Padidinkite sumą kiekviename masyvo elemente esančiu skaičiumi.         $iArraySum += Number($aArray[$i]) Next ; Grąžinkite vidurkį, suapvalintą iki dviejų skaičių po kablelio.     Return Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



Istorija

  • 1999 m. sausis - pirmoji "AutoIt" versija (1.0)
  • 1999 m. rugpjūtis - "AutoIt v2" ir "AutoItX
  • 1999 m. rugsėjis - pirmoji "AutoIt" versija su kompiliatoriumi
  • 2002 m. gruodis - "AutoIt v3" (viešoji beta versija)
  • 2004 m. vasaris - AutoIt v3 (stabili)
  • 2006 m. rugsėjis - pradėta naudoti Auto3Lib
  • 2007 m. lapkritis - išleista "AutoIt v3.2.10.0", "Auto3Lib" įtraukta į "AutoIt v3
  • 2008 m. gegužė - išleista "AutoIt v3.2.12.0" versija, į kurią įtrauktos papildomos grafinės vartotojo sąsajos funkcijos
  • 2008 m. gruodis - Išleista "AutoIt" (ir "AutoItX") v3.3.0.0
  • 2009 m. gruodis - Išleista "AutoIt v3.3.2.0
  • 2010 m. sausis - Išleista "AutoIt v3.3.4.0
  • 2010 m. kovas - Išleista "AutoIt v3.3.6.0
  • 2010 m. balandis - Išleista "AutoIt v3.3.6.1
  • 2011 m. gruodis - Išleista "AutoIt v3.3.8.0
  • 2012 m. sausis - išleista "AutoIt v3.3.8.1
  • 2013 m. gruodis - Išleista "AutoIt v3.3.10.0
  • 2014 m. birželis - Išleista "AutoIt v3.3.12.0
  • 2015 m. liepa - išleistos "AutoIt" versijos v3.3.14.0 ir v3.3.14.1
  • 2015 m. rugsėjis - Išleista "AutoIt v3.3.14.2
  • 2018 m. vasaris - Išleista "AutoIt v3.3.14.3



Licencija

"AutoIt" kūrėjai iš pradžių išleido pirminį kodą pagal GNU bendrąją viešąją licenciją (GPL).

2006 m. 3.2.0 ir vėlesnių versijų licencija buvo pakeista į savo uždaro kodo licenciją.

Dalis 3.1 versijos kodo buvo panaudota kuriant "AutoHotkey" projekto šakutę. Tai buvo leidžiama pagal GPL licencijos sąlygas. Projekto "AutoHotkey" bendruomenė toliau kuria ir leidžia kodą pagal GPL licenciją.



Klausimai ir atsakymai

K: Kas yra "AutoIt"?


A: "AutoIt" yra nemokama programavimo kalba, skirta "Microsoft Windows".

K: Kaip buvo naudojama "AutoIt" 1 ir 2 versijose?


A: 1 ir 2 versijose ji buvo naudojama "Microsoft Windows" programų automatizavimo scenarijams, dar vadinamiems makrokomandomis, kurti.

K: Kas pasikeitė 3-ojoje "AutoIt" versijoje?


A: 3 versijoje scenarijų kalba buvo išplėsta, kad būtų galima atlikti daugiau veiksmų, o sintaksė pakeista taip, kad būtų panaši į BASIC programavimo kalbą.

K: Kokio tipo duomenys gali būti "AutoIt" scenarijuje?


A: AutoIt scenarijuje gali būti tokių tipų duomenų, kaip masyvai.

K: Ar galima paleisti "AutoIt" scenarijų kompiuteriuose, kuriuose nėra įdiegto interpretatoriaus?


A: Taip, "AutoIt" scenarijų galima paversti savarankiška vykdomąja programa, kurią galima paleisti kompiuteriuose, kuriuose nėra įdiegto interpretatoriaus.

K: Ar yra kokių nors papildomų kalbos gebėjimų?


A: Taip, yra daugybė funkcijų bibliotekų, vadinamų UDF arba "Vartotojo apibrėžtomis funkcijomis", kai kurios iš jų įtrauktos į standartinę versiją, o kitas galima rasti svetainėje, kurios suteikia kalbai papildomų galimybių.

K: Ar yra specialus redaktorius, skirtas kurti su "AutoIt"?


A: Taip, yra specialus redaktorius, pagrįstas nemokamu SciTE redaktoriumi, kuriame yra ir kompiliatorius, ir pagalbinis tekstas, suteikiantis kūrėjams standartinę kūrimo aplinką.


Ieškoti
AlegsaOnline.com - 2020 / 2025 - License CC3