AutoIt — linguaggio di scripting per Windows: automazione, UDF e compilazione

AutoIt: linguaggio gratuito per Windows per automazione, script compilabili in EXE, vasta libreria UDF e IDE SciTE — sviluppa macro e applicazioni facilmente.

Autore: Leandro Alegsa

AutoIt /ɔːtoʊ ɪt/ è un linguaggio di programmazione freeware per Microsoft Windows. Nato per l'automazione di operazioni ripetitive e per simulare l'input di un utente (tastiera e mouse), AutoIt si è evoluto significativamente nel tempo: nelle prime versioni (1 e 2) era soprattutto un linguaggio di scripting basato su istruzioni semplici, mentre dalla versione 3 la sintassi è stata riscritta e resa più potente e flessibile, assumendo una struttura simile al linguaggio BASIC e supportando costrutti tipici di un vero linguaggio di programmazione, come variabili complesse e array.

Caratteristiche principali

  • Controllo di Windows e automazione GUI: funzioni per trovare, attivare e manipolare finestre e controlli (WinWait, WinActivate, ControlClick, ControlSend, ecc.).
  • Invio di input: simulazione di pressioni di tasti (Send) e movimenti/clic del mouse.
  • Creazione di interfacce: API integrate per costruire rapide GUI con finestre, pulsanti, caselle di testo e menu.
  • Accesso a sistema e file: gestione file, cartelle, registri di sistema, processi e servizi.
  • Integrazione avanzata: supporto COM per automatizzare applicazioni (ad es. Excel, Word), chiamate DLL (DllCall) e accesso diretto alle API di Windows.
  • UDF (User Defined Functions): librerie aggiuntive che estendono le funzionalità (ad es. Excel UDF, SQLite, ImageSearch, HTTP, crittografia).
  • Compilazione: gli script possono essere trasformati in un singolo eseguibile autonomo, eseguibile anche su macchine senza AutoIt installato.
  • Ambiente di sviluppo: è disponibile un IDE ufficiale basato su SciTE che integra il compilatore e il file di aiuto, offrendo un ambiente standard per lo sviluppo (ambiente di sviluppo integrato).

UDF e comunità

Una delle forze di AutoIt è la vasta collezione di UDF, sia incluse nel pacchetto standard sia disponibili dalla comunità sul sito ufficiale e nei forum. Queste librerie consentono di aggiungere rapidamente funzionalità complesse senza dover ricorrere a chiamate di basso livello: esempi comuni sono UDF per lavorare con fogli di calcolo, database, interazione con applicazioni grafiche complesse, operazioni su immagini e molto altro. La comunità offre anche esempi, script pronti e supporto tramite forum e documentazione.

Compilazione e distribuzione

Lo strumento di compilazione (Aut2Exe, integrato nell'IDE) trasforma uno script AutoIt in un singolo eseguibile portabile. Questo facilita la distribuzione a utenti che non dispongono dell'interprete AutoIt. È però importante considerare aspetti di sicurezza e fiducia: molti antivirus possono talvolta segnalare falsi positivi sui file EXE generati da AutoIt, perché il linguaggio è spesso usato anche per tool amministrativi o, in alcuni casi, per software malevolo. Per ridurre i falsi positivi e aumentare la fiducia degli utenti, è consigliabile distribuire il codice sorgente quando possibile, firmare digitalmente gli eseguibili e seguire buone pratiche nello sviluppo.

Utilizzi tipici e limiti

AutoIt è ideale per:

  • automatizzare installazioni e procedure ripetitive;
  • test funzionali di interfacce GUI;
  • creare utility amministrative rapide per Windows;
  • prototipare strumenti che interagiscono con applicazioni esistenti.

Limiti da considerare: essendo focalizzato su Windows, non è adatto per ambienti multipiattaforma; per progetti molto grandi o che richiedono strutture software avanzate, altri linguaggi possono offrire vantaggi in termini di mantenibilità, tipizzazione e performance.

Primi passi e risorse

Per cominciare conviene installare la versione completa di AutoIt che include l'IDE SciTE personalizzato, leggere il file di aiuto e consultare gli esempi inclusi. La documentazione ufficiale e i forum della comunità sono fonti preziose per trovare UDF, soluzioni a problemi comuni e script di esempio. Alcune pratiche utili per chi inizia: mantenere gli script semplici e ben commentati, testare su macchine di prova e gestire con cura le eccezioni e i casi di errore relativi alle finestre e ai tempi di attesa.

AutoIt rimane uno strumento pratico e potente per l'automazione su Windows: semplice da apprendere per compiti basilari, ma sufficientemente flessibile per realizzare strumenti complessi grazie alle sue funzioni estendibili e alla comunità attiva.

 screenshot di un tipico script AutoITZoom
screenshot di un tipico script AutoIT

Caratteristiche

  • Linguaggio di scripting con struttura simile a BASIC per Windows
  • Compilazione in eseguibili autonomi
  • Librerie e moduli aggiuntivi per applicazioni o app specifiche
  • Supporta i protocolli TCP e UDP
  • Supporta il modello a oggetti componenti (COM)
  • Funzioni di chiamata in file DLL
  • Eseguire le applicazioni della console e accedere ai flussi standard
  • Includere i file di dati nel file compilato da estrarre durante l'esecuzione
  • Creare interfacce utente grafiche, comprese le caselle di messaggio e di input
  • Riprodurre suoni, mettere in pausa, riprendere, fermare, cercare, ottenere la posizione corrente del suono e ottenere la lunghezza del suono
  • Simulare i movimenti del mouse
  • Manipolare finestre e processi
  • Automatizzare l'invio dell'input dell'utente e delle sequenze di tasti alle app, nonché ai singoli controlli all'interno di un'app
  • Supporto Unicode dalla versione 3.2.4.0
  • Supporto codice a 64 bit dalla versione 3.2.10.0
  • Supporta le espressioni regolari
  • Compatibile con il controllo dell'account utente
  • Progettazione orientata agli oggetti attraverso una biblioteca



Utilizzo

AutoIt è spesso utilizzato per produrre software di utilità per Microsoft Windows. Questi programmi possono automatizzare le attività di routine. L'uso esemplificativo include: gestione dei sistemi, monitoraggio, manutenzione e installazione del software. È anche usato per simulare l'interazione dell'utente. In questo uso un'applicazione è "guidata" a fare le cose da uno script AutoIt che si comporta come un utente umano. Uno script AutoIT può emettere pressioni di tasti, clic del mouse, digitare testo e così via. In questo modo simula un utente umano di un'applicazione.

AutoIt è stato utilizzato nell'automazione di laboratorio a basso costo. Le applicazioni includono la sincronizzazione degli strumenti, il monitoraggio degli allarmi e la raccolta dei risultati. Possono essere controllati anche dispositivi come le stampanti 3D.



Esempi

Ciao mondo

Mettere a disposizione una libreria di valori costanti. #include < MsgBoxConstants. au3> ; Visualizza "Hello, world!" in una messagebox. MsgBox($MB_SYSTEMMODAL, "Titolo", "Ciao, mondo!)

Automazione della calcolatrice di Windows

Mettere a disposizione una libreria di valori costanti. #include < MsgBoxConstants. au3> ; Visualizza una casella di messaggio con un timeout di 6 secondi. MsgBox($MB_OK, "Attenzione", "Evitare di toccare la tastiera o il mouse durante l'automazione", 6) ; Eseguire il calcolatore di Windows. Esegui ("calc.exe") ; Attendere che la calcolatrice si attivi con un timeout di 10 secondi. WinWaitActive("[CLASS:CalcFrame]", "", 10) ; Se la calcolatrice non appare dopo 10 secondi, uscire dallo script. Se WinExists("[CLASS:CalcFrame]") = 0 allora uscire ; Digitare automaticamente l'anno corrente nella calcolatrice. Send(@YEAR) ; Rallentiamo un po' lo script in modo da poter vedere cosa sta succedendo. Sleep(600) ; Digitare automaticamente 'dividete per 4' e poi dormite 600 ms. Send("/4") Sleep(600) ; Premere il tasto di ritorno per visualizzare il risultato, e sleep 600 ms. Send("{ENTER}") Sleep(600) ; Copiare il risultato negli appunti utilizzando la scorciatoia di Windows Ctrl+C. Send("^c") ; Dichiarare e assegnare il contenuto degli appunti a una variabile. Local $fResult = ClipGet() ; Verificare se la variabile contiene o meno un punto decimale. Se StringInStr($fResult, ".") Allora ; Visualizzare una casella di messaggio con un timeout di 5 secondi. MsgBox($MB_OK, "Leap Year", @YEAR & " non è un anno bisestile", 5) Else ;      Questo messaggio verrà visualizzato solo se l'anno corrente è un anno bisestile. MsgBox($MB_OK, "Leap Year", @YEAR & " è un anno bisestile.", 5) EndIf ; Chiudere la calcolatrice di Windows - sempre riordinare dopo. WinClose("[CLASSE:CalcFrame]")

Trova la media

; Trova media di JohnOne, modificato da czardas #include < MsgBoxConstants. au3> _Esempio() ; Esegui l'esempio. Func _Esempio() ; Visualizzare una casella di input e chiedere all'utente di inserire alcuni numeri separati da virgole.Local $sInput = InputBox("Trova media", "Inserisci alcuni numeri separati da virgole: 1,2,42,100,3")         Se si è verificato un errore, uscire dallo script.    Se @errore poi uscire ; Popolare un array con l'input dell'utente. Locale $aSplit = StringSplit($sInput, ",") ; Passare l'array alla funzione _Find_Average() e poi controllare se ci sono errori. Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; Visualizzare il risultato in una casella di messaggio. MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;===>_Esempio Func _Find_Average($aArray) ; Se l     Se non è IsArray($aArray) allora restituire SetError(1, 0, VarGetType($aArray))       ; Sono possibili controlli più dettagliati, ma per brevità ne viene eseguita solo una. ; Dichiarare una variabile per memorizzare la somma dei numeri. $iArraySum locale = 0 ; Fare un loop attraverso l'array. Per $i = 1 A $aArray[0] ; Incrementare la somma per il numero di ogni elemento dell'array. $iArraySum += Numero($aArray[$i]) Avanti ; Restituire la media arrotondata a 2 decimali. Ritorno Round($iArraySum / $aArray[0], 2) EndFunc    ;===>_Find_Average



Storia

  • Gennaio 1999 - Prima versione AutoIt (1.0)
  • Agosto 1999 - AutoIt v2 e AutoItX
  • Settembre 1999 - Prima versione AutoIt con Compilatore
  • Dicembre 2002 - AutoIt v3 (Public Beta)
  • Febbraio 2004 - AutoIt v3 (Stabile)
  • Settembre 2006 - Auto3Lib avviata
  • Novembre 2007 - Rilasciato AutoIt v3.2.10.0, Auto3Lib incorporato in AutoIt v3
  • Maggio 2008 - Rilasciato AutoIt v3.2.12.0, con l'aggiunta della funzionalità GUI
  • Dicembre 2008 - Rilasciato AutoIt (e AutoItX) v3.3.0.0.0
  • Dicembre 2009 - Rilasciato AutoIt v3.3.2.0
  • Gennaio 2010 - Rilasciato AutoIt v3.3.4.0
  • Marzo 2010 - Rilasciato AutoIt v3.3.6.0
  • Aprile 2010 - Rilasciato AutoIt v3.3.6.1
  • Dicembre 2011 - Rilasciato AutoIt v3.3.8.0
  • Gennaio 2012 - Rilasciato AutoIt v3.3.8.1
  • Dicembre 2013 - Rilasciato AutoIt v3.3.10.0
  • Giugno 2014 - Rilasciato AutoIt v3.3.12.0
  • Luglio 2015 - Rilasciato AutoIt v3.3.14.0 e v3.3.14.1
  • Settembre 2015 - Rilasciato AutoIt v3.3.14.2
  • Febbraio 2018 - Rilasciato AutoIt v3.3.14.3



Licenza

Gli sviluppatori di AutoIt hanno originariamente rilasciato il codice sorgente sotto la GNU General Public License (GPL).

Nel 2006, la licenza è stata cambiata per la versione 3.2.0 e le versioni successive con una propria licenza closed source.

Parte del codice della versione 3.1 è stato utilizzato per creare un fork dal progetto AutoHotkey. Questo è stato permesso secondo i termini della licenza GPL. La comunità AutoHotkey continua a sviluppare e rilasciare il codice sotto la GPL.



Domande e risposte

D: Che cos'è AutoIt?


R: AutoIt è un linguaggio di programmazione freeware per Microsoft Windows.

D: Come veniva utilizzato AutoIt nelle versioni 1 e 2?


R: Nelle versioni 1 e 2, veniva utilizzato per creare script di automazione per i programmi di Microsoft Windows, noti anche come macro.

D: Cosa è cambiato nella versione 3 di AutoIt?


R: Il linguaggio di scripting nella versione 3 è stato ampliato per consentirgli di fare più cose, e la sintassi è cambiata per essere simile al linguaggio di programmazione BASIC.

D: Che tipo di dati può contenere uno script AutoIt?


R: Uno script AutoIt può contenere tipi di dati come gli array.

D: Uno script AutoIt può essere eseguito su computer senza l'interprete installato?


R: Sì, uno script AutoIt può essere convertito in un eseguibile stand-alone che può essere eseguito su computer che non hanno l'interprete installato.

D: Ci sono abilità aggiuntive disponibili per il linguaggio?


R: Sì, è disponibile un'ampia gamma di librerie di funzioni, note come UDF o "Funzioni definite dall'utente", alcune incluse come standard e altre disponibili sul sito web, che aggiungono ulteriori capacità al linguaggio.

D: Esiste un editor speciale per sviluppare con AutoIt?


R: Sì, esiste un editor speciale basato sull'editor gratuito SciTE, che include sia un compilatore che un testo di aiuto, fornendo agli sviluppatori un ambiente standard per lo sviluppo.


Cerca nell'enciclopedia
AlegsaOnline.com - 2020 / 2025 - License CC3