Vai al contenuto
Italiano Home

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.

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.

Galleria di immagini

2 Immagini

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.

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.

Fonti

Articoli correlati

Autore

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

URL: https://it.alegsaonline.com/art/7608

Condividi