Sei sulla pagina 1di 319

AutoIt

Pagina 1 di 314

v3.0.102 ©1999-2004 Jonathan Bennett & AutoIt Team AutoIt v3 Homepage

Introduzione
AutoIt v3 è un linguaggio di scripting BASIC-like progettato per automatizzare la
GUI di Windows . Usa una combinazione di battute di tasti, movimenti del mouse e
manipolazione di finestre/controlli al fine di automatizzare compiti in una
modalità non possibile o affidabile con altri linguaggi (ad es. VBScript e
SendKeys). AutoIt è stato progettato inizialmente allo scopo di riconfigurare
facilmente migliaia di PC, ma con il rilascio della v3 è adatto anche
all'automazione di attività diverse e allo scripting di attività ripetitive. Auto
può: Eseguire eseguibili Windows e DOS Simulare batture di tastiera (supporta
moltissimi layouts di tastiera) Simulare movimenti e click del mouse Muovere,
ridimensionare e manipolare finestre Interagire direttamente con "controlli" su
una finestra (impostare/ottenere testo, muovere, disabilitare, etc.) Funzionare
con la clipboard per tagliare/incollare testo Funzionare con il Registry A
differenza di AutoIt v2, il nuovo linguaggio v3 ha una sintassi molto più standard
-simile a VBScript e BASIC - e ora supporta espressioni complesse, funzioni
utente, looping e ogni altra cosa che veterani di scripting si aspettano.

Come con le versioni precedenti, AutoIt è stato disegnato per essere più piccolo
possibile (~100KB) e stand-alone senza files .dll esterni o chiavi di registry
richieste. Scripts possono anche essere compilati in eseguibili stand-alone con
Aut2Exe. Ci saranno anche aggiornamenti a versioni ActiveX e DLL di AutoIt
chiamate AutoItX3 - a differenza della v2 questo sarà un controllo combinato (COM
e funzioni standard DLL nella stessa DLL). AutoItX3 ti consentirà di usare le
caratteristiche uniche di AutoIt nel tuo preferito linguaggio di scripting o di
programmazione! (AutoItX3 è attualmente in beta, i files possono essere scaricati
qui ).

Soprattutto, AutoIt continua ad essere FREE - ma se vuoi supportare il tempo,


denaro e sforzi spesi

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 2 di 314

sul progetto e webhosting puoi donare nell'homepage di AutoIt .

Che c'è di nuovo?


v3 ha una sintassi completamente differente da v2.64 e di conseguenza i vecchi
script non sono compatibili. Comunque, v2.64 continuerà ad essere supportato e
scaricabile. Entrambi AutoIt v3 e v2.64 possono essere installati insieme sulla
stessa macchina senza alcun problema e quindi puoi mantenere intatti i tuoi vecchi
script. v2 usa l'estensione .aut e v3 usa .au3. Raramente si verifica la necessità
di riscrivere uno script v2.64 funzionante in v3. v3 ha gli stessi concetti delle
versioni precedenti con titoli di finestre e testi e simulazione di mouse e
tastiere ma ha molte ceratteristiche nuove:

Controlli Ottiene direttamente informazioni e interagisce con edit boxes, check


boxes, list boxes, combos, pulsanti, status bars senza il rischio di perdere
battiture di tasti. Funziona anche con controlli che si trovano in finestre non
attive!

Aggiornamenti del linguaggio "Numeri veri e propri", stringhe di lunghezza


illimitata, espressioni complesse, istruzioni if, select, while loops, for loops,
do loops, functions, arrays, eccellente trattamento di stringhe (oltre 25
funzioni!) - la lista va avanti. Ogni cosa di cui hai bisogno per rendere le tue
routine di automazione più indolore possibili. Sì, questo è un linguaggio di
automazione di GUI ma la sintassi in v3 è abbastanza potente per scopi di
scripting generali. Le vecchie versioni di AutoIt erano spesso ritenute non essere
un vero e proprio "linguaggio". Non più.

Simulazione di chiavi e mouse Molto tempo è stato speso per simulare le funzioni
di battutura di tasti e del mouse e renderle più accurate possibile su tutti i
sistemi operativi attuali. Le funzioni del mouse sembrano più "umane" in questa
versione e possono anche essere usate per creare agili demo scripts. Tutte le
routine di mouse e tastiera sono altamente configurabili sia in termini di
simulazione che "velocità" e funzionalità.

Gestione delle finestre In aggiunta al "titolo/testo" con cui v2 può accedere alle
finestre puoi accedere alle finestre anche attraverso i loro nomi di classe e
identificatori. Come sempre puoi muovere, visualizzare, nascondere, cambiare lel
dimensioni, attivare, chiudere e fare efficacemente ciò che vuoi con le finestre.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 3 di 314

E molto, molto più.

Software License
OVERVIEW ======== AutoIt is copyrighted software distributed under the terms of
the GNU General Public License (hereinafter the "GPL"). The stub (AutoItSC.bin)
which is imbedded in each AutoIt compiled script is part of AutoIt, and contains
code that is under our copyright. The terms of the GNU General Public License
still apply as compiling a script is a special form of linking with our stub. As a
special exception we grant the free usage of AutoIt compiled scripts, including
commercial programs. See below for details and restrictions.

COPYRIGHT ========= AutoIt is copyrighted software. All rights remain with the
authors. AutoIt is Copyright (C)1999-2004 Jonathan Bennett & the AutoIt team.

GNU GENERAL PUBLIC LICENSE ========================== AutoIt is free software; you


can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version. AutoIt is distributed in the hope
that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 4 di 314

You should have received a copy of the GNU General Public License along with this
program; see the file COPYING.txt.

SPECIAL EXCEPTION FOR COMPILED EXECUTABLES


========================================== The stub (AutoItSC.bin) which is
imbedded in each AutoIt compiled script is part of AutoIt, and contains code that
is under our copyright. The terms of the GNU General Public License still apply as
compiling a script is a special form of linking with our stub. Jonathan Bennett
and the AutoIt team grant you special permission to freely use and distribute all
AutoIt compiled scripts (including commercial ones), subject to the following
restrictions: 1. You must compile your script with a completely unmodified AutoIt
version; either with our precompiled version, or (at your option) with a self
compiled version of the unmodified AutoIt sources as distributed by us. 2. This
also implies that the AutoIt stub must be completely unmodified (with the
exception of the stub file version information that you MAY modify if you wish).

ANNOTATIONS =========== - You can use a modified AutoIt version or modified AutoIt
stub only for programs that are compatible with the GNU General Public License. -
We grant you special permission to freely use and distribute all AutoIt compiled
programs. - You can integrate all or part of AutoIt into projects that are
compatible with the GNU GPL, but obviously you cannot grant any special exceptions
beyond the GPL for our code in your project.

Jonathan Bennett support@hiddensoft.com 25 March 2004

Struttura della Directory di installazione


La directory di installazione (di solito localizzata in \Program Files\AutoIt3)
per AutoIt è simile a questa:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 5 di 314

Files e Directories

Descrizione Il programma principale di AutoIt (questo è il solo file richiesto per


eseguire scripts) Il tool AutoIt Window Spy Questo file di help Process...()
function helper DLL - usato solo sotto Windows NT 4 (file Microsoft
ridistribuibile) Files include standard (funzioni utente pre-scritte - vedi
Library Functions) Icone usate per l'icona del tipo di file .au3 in Explorer
Componenti del Compilatore di Script di AutoIt Il compilatore di script Matrice
eseguibile per scripts compilati Il compressore UPX Icone per uso negli scripts
compilati Esempi di scripts AutoIt Files forniti da terze parti Decompilatori di
script compilati (da .exe a .au3) Un convertitore di script da v2.64 a v3 Syntax
highlighting files per editors conosciuti (e scripts per autoinstallazioni )

AutoIt3.exe AU3_Spy.exe AutoIt.chm PSAPI.DLL

\ Include \ Icone \ Aut2Exe \ Aut2Exe \ Aut2Exe.exe \ Aut2Exe \ AutoItSC.bin \


Aut2Exe \ upx.exe \ Aut2Exe \ Icons \ Esempi \ Extra \ Extras \ Exe2Aut \ Extra \
v2_to_v3_Converter \ Extra \ Editors

Dovrebbe essere ripetuto che per eseguire scripts AutoIt, il solo file richiesto è
AutoIt3.exe. Se compili uno script in un eseguibile un utente non avrà bisogno di
installare AutoIt per eseguire l'eseguibile copmpilato.

(eccezione: sotto Windows NT 4 il file PSAPI.dll deve essere nel path o nella
directory di AutoIt affinchè le funzioni relative a Process...() lavorino)

Frequently Asked Questions (FAQ)


file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm
18/05/2008
AutoIt

Pagina 6 di 314

Questa sezione riporta alcuni delle domande poste più frequentemente nel forum.

Domande
1. Perchè il mio vecchio script AutoIt v2.64 non funziona nella v3? 2. V3 è molto
più complicata delle versioni precedenti? 3. Come posso convertire i miei script
v2.64 alla v3? 4. Dov'è il comando "goto"? 5. Come posso eseguire un programma DOS
da AutoIt? 6. Perchè posso usare solo Run() per eseguire file .exe e .com?
Relativamente a .msi /.txt e altri? 7. Perchè ottengo errori quando provo a usare
doppi apici (") ? 8. Cosa significano i parametri della window "title" e "text" ?
9. Perchè non posso stampare una variabile usando "La mia variabile è $variable"?
10. Perchè quando uso Send() per inviare una variabile accadono cose strane? 11.
Qual'è la differenza tra il return value e @error? 12. Come posso chiudere il mio
script con una hot-key? 13. Come posso usare un'icona personalizzata quando
compilo i miei script? 14. Come posso assicurarmi che solo una copia del mio
script è in esecuzione? 15. Quali sono gli attuali limiti tecnici di AutoIt v3?

1. Perchè il mio vecchio script AutoIt v2.64 non funziona nella v3?
v3 ha una struttura di linguaggio differente da v2.64. Le precedenti versioni di
AutoIt erano adatte per lo scopo per cui erano state disegnate - scrivere semplici
script per aiutare nelle installazioni software. Ma con il passare del tempo gli
utenti hanno cominciato a usarlo per attività di scripting più generali e
complicate. La vecchia sintassi e struttura rendeva ciò possibile ma molto
difficoltoso e scomodo. E' stato deciso di rendere AutoIt più adatto per compiti
di automazione generali e per raggiungere lo scopo di creare un linguaggio
standard basic-like. Ciò significa anche che se già conosci un linguaggio di
scripting imparerai ad usare AutoIt v3 facilmente.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 7 di 314

Back To Top

2. V3 è molto più complicata delle versioni precedenti?


No. Infatti in molti casi è molto più facile delle versioni precedenti poichè non
è necessario provare a forzare il linguaggo a fare cose per le quali non è stato
progettato. Inoltre usa un linguaggio simile al BASIC, e il BASIC è conosciuto per
essere...perfettamente...basic :)

La vasta maggioranza dei vecchi scripts AutoIt erano focalizzati


sull'installazione software e cliccando "Next" in molte dialog box. Molti di
questi script possono essere convertiti in v3 sempicemente aggiungendo un paio di
parentesi qui e là. Di seguito c'è un esempio di script in v2 e v3 (simulando
un'installazione software con poche dialog box che hanno un pulsante Next e un
pulsante Finish )

; v2.64 Script WinWaitActive, Welcome, Welcome to the XSoft installation Send, !n


WinWaitActive, Choose Destination, Please choose the Send, !n WinWaitActive, Ready
to install, Click Next to install Send, !n WinWaitActive, Installation Complete,
Click Finish to exit Send, !f WinWaitClose, Installation Complete ; v3 Script
WinWaitActive("Welcome", "Welcome to the XSoft installation") Send("!n")
WinWaitActive("Choose Destination", "Please choose the") Send("!n")
WinWaitActive("Ready to install", "Click Next to install") Send("!n")
WinWaitActive("Installation Complete", "Click Finish to exit") Send("!f")
WinWaitClose("Installation Complete")

Dunque, non è così difficile! :) Poichè tutte le "stringhe" sono racchiuse tra
apici non è più necessario dover lottare con problemi causati da caratteri spaces
all'inizio e alla fine di un testo. C'è anche un fantastico supporto per molti
text editors così che mentre state scrivendo scripts v3 potete avere "syntax
highlighting" che rendono tutto più facile.

Back To Top

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 8 di 314

3. Come posso convertire i miei script v2.64 alla v3?


La prima cosa che dovresti chiedere a te stesso è "Ho bisogno di convertire i miei
script?". V2.64 continuerà ad essere scaricabile e supportata, sicchè non è
necessario aggiornare i tuoi scripts se non vuoi :)

C'è una sezione nell'helpfile che mostra come i comandi in v2 e v3 sono correlati
- clicca qui per vedere la pagina.

Uno degli autori di AutoIt v3 ha scritto un'utility per convertire automaticamente


script v2 in v3. La conversione è molto buona a meno che il tuo codice sia
orribilmente pieno di goto :) Puoi trovare il convertitore nella "Extras"
directory (Start \ AutoIt v3 \ Extras - oppure cerca nella directory dove hai
installato AutoIt v3).

Back To Top

4. Dov'è il comando "goto"?


Andato. E' dannoso. No, non puoi chiedere perchè - è semplicemente così. :)

AutoIt v3 implementa molti dei comuni "loop" in uso oggi e con questi Goto non è
più richiesto. Dà un'occhiata alle funzioni While, Do, For, ExitLoop, ContinueLoop
e Functions per una tecnica moderna di fare queste cose :) E mentre stai guardando
le sezioni dell'help file controlla loops, conditional statements e functions. Te
l'ho promesso, una volta che hai capito il principio di queste cose sarai in grado
di codificare script virtualmente in ogni altro linguaggio in un paio di minuti.

Giusto per iniziare, l'uso basilare del Goto nella versione 2.64 era un infinito
loop come questo: :mylabel ...do something... ...and something else... goto,
mylabel Una semplice versione v3 è un While loop che è sempre "true". While 1 = 1
...do something... ...do something else... Wend Se c'è una massiccia indignazione
su questo punto dopo il lancio della v3 io posso aggiungerlo di nuovo, ma solo per
aiutare gli utilizzatori a convertire scripts.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 9 di 314

Back To Top

5. Come posso eseguire un programma DOS da AutoIt?


Se vuoi eseguire un comando DOS "Dir" devi eseguirlo attraverso l'interprete di
comandi (command.com o cmd.exe a seconda del tuo OS). La macro @Comspec contiene
la posizione corretta di questo file. Dovresti usare la funzione RunWait() poichè
questa funzione attende che il programma DOS finisca prima di continuare con la
linea successiva dello script. Di seguito c'è un esempio di esecuzione del comando
DOS Dir sul drive C: (effettivamente esegue il comando command.com /c Dir C:\ )
RunWait(@COMSPEC & " /c Dir C:\")

Back To Top

6. Perchè posso usare solo Run() per eseguire file .exe e .com? Relativamente a
.msi /.txt ed altri?
Di solito solo poche estensioni di file sono "eseguibili" - queste sono .exe,
.bat, .com, .pif. Altri tipi di file come .txt and .msi sono attualmente usati con
altri programmi. Quando premi doppio click su file "myfile.msi" ciò che accade
attualmente in background è che è eseguito "msiexec.exe myfile.msi" . Quindi per
eseguire un file .msi da AutoIt devi eseguire: RunWait("msiexec myfile.msi")

Oppure, un modo anche più semplice è eseguire il comando "start" che eseguirà
automaticamente il file: RunWait(@COMSPEC " /c Start myfile.msi")

Back To Top

7. Perchè ottengo errori quando provo a usare doppi apici (") ?


Se vuoi usare doppi apici all'interno di una stringa devi "raddoppiarli ". Quindi
per ogni doppio apice dovresti usarne due. Ad esempio se volessi settare una
variabile nella stringa: Una parola in "questa " frase ha doppi apici! Dovresti
scrivere: $var = "Una parola in ""questa"" frase ha doppi apici!" oppure usa apici
singoli:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 10 di 314

$var = 'Una parola in "questa " frase ha apici !'

Back To Top

8. Cosa significano i parametri della window "title" "text"?


C'è una descrizione dettagliata qui.

Back To Top

9. Perchè non posso stampare una variabile usando "La mia variabile è $variable"?
Se hai una variabile chiamata $msg e vuoi stamparla all'interno di una MsgBox
questo non funzionerà: MsgBox(0, "Esempio", "La mia variabile è $msg") In questo
momento stamperà La mia variabile è $msg . Ciò di cui hai bisogno è dire ad AutoIt
di unire la stringa e la variabile insieme usando l' operatore & : MsgBox(0,
"Example", "La mia variabile è " & $msg)

Tecnica avanzata: Se devi aggiungere molte variabili ad una stringa puoi trovare
utile la funzione StringFormat() . Ad esempio, se volessi inserire da $var1 a
$var5 in una stringa può essere più sempile codificare: $msg = StringFormat("Var1
è %s, Var2 è %s, Var3 è %s, Var4 è %s, Var5 è %s", $var1, $var2, $var3, $var4,
$var5) MsgBox(0, "Esempio", $msg)

Back To Top

10. Quando uso Send() per inviare una variabile accadono cose strane?
Se stai inviando il contenuto di una variabile presta attenzione al fatto che se
contiene caratteri speciali di tipo send come ! ^ + {SPACE} questi ultimi saranno
tradotti in battute di tasti - che raramente è ciò che si vuole. Per superare
questo problema usa la modalità RAW di Send() che non traduce caratteri speciali:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 11 di 314

Send($myvar, 1)

Back To Top

11. Qual'è la differenza tra il return value e @error?


In generale il return value è usato per indicare il successo di una funzione. Ma,
se una funzione sta già ritornando qualcosa (come WinGetText() ) abbiamo bisogno
di trovare un modo per sapere se la funzione è stata eseguita con successo, quindi
settiamo @error.

Back To Top

12. Come posso chiudere il mio script con una hot-key?


Ah, è facile. Se vuoi che il tuo script termini quando premi una data combinazione
di tasti usa la funzione HotKeySet() per ottenere che una funzione utente venga
eseguita quando la combinazione di tasti desiderata viene premuta. Questa funzione
dovrebbe contenere la keyword Exit . Di seguito c'è un esempio di codice che causa
la chiusura dello script quando viene premuto CTRL+ALT+x: HotKeySet("^!x",
"MyExit") ... ... ; Resto dello Script ... ... Func MyExit() Exit EndFunc

Back To Top

13. Come posso usare un'icona personalizzata quando compilo i miei script?
Hai bisogno di eseguire il compilatore completo (piuttosto che cliccare con il
pulsante destro del mouse su uno script e selezionare compile). Qesta pagina
descrive il compilatore in dettaglio.

Back To Top

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 12 di 314

14. Come posso assicurarmi che solo una copia del mio script è in esecuzione?
Il modo più facile è rinominare la finestra nascosta di AutoIt quando il tuo
script viene eseguito per la prima volta. Quindi nello stesso script controlla se
è in esecuzione un altro script che ha il titolo della finestra uguale a quello in
esecuzione. ; Colloca all'inizio del tuo script $g_szVersion = "My Script 1.1" If
WinExists($g_szVersion) Then Exit ; E' già in esecuzione
AutoItWinSetTitle($g_szVersion) ; Il resto del tuo script continua qui

Back To Top

15. Quali sono gli attuali limiti tecnici di AutoIt v3?


Lunghezza di una linea dello script: 4,095 caratteri Lunghezza di una stringa:
2,147,483,647 caratteri Range di numeri: da 1.7E–308 a 1.7E+308 con precisione 15-
digit Numeri esadecimali: 32-bit signed integer (0x80000000 to 0x7FFFFFFF) Arrays:
64 dimensioni e/o un totale di milioni di elementi Profondità di call ricorsive:
384 levelli File aperti simultaneamente: 64 HotKeys attive simultaneamente: 64
Massimo numero di variabili in uso in un dato momento: Nessun limite Massimo
numero di funzioni definite dall'utente: Nessun limite

Back To Top

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 13 di 314

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 14 di 314

Scripts in esecuzione
Quando attivi AutoIt ti sarà chiesto di aprire uno script file. Uno script file è
un semplice file di testo contenente parole chiave di AutoIt e funzioni che
indicano ad AutoIt che cosa vuoi fare. Script files vengono creati in un semplice
text editor come notepad.exe o con un'alternativa molto migliore. Sebbene gli
scripts AutoIt v3 sono files di testo essi hanno di solito l'estensione .au3 per
evidenziare la differenza tra uno script e un file di testo. Se hai usato
l'installer completo per installare AutoIt puoi eseguire uno script AutoIt
semplicemente con un doppio click. Ci sono anche varie opzioni per aprire,
editare, o compilare uno script se clicchi con il pulsante di destra un file .au3.

Qui c'è uno script di esempio. Nota che ; è usato per i commenti (molto simile a
REM in files batch DOS):

;Questo è il mio primo script MsgBox(0, "Il mio primo Script!", "Hello World!")

Scripts più complicati possono usare funzioni, che di solito sono poste alla fine
di uno script. Qui c'è uno script che usa funzioni:

; Questo è il mio secondo script (con funzioni) MsgBox(0, "Il mio secondo
script!", "Ciao dallo script principale!") TestFunc() Func TestFunc() MsgBox(0,
"Il mio Secondo Script!", "Ciao dalle funzioni!") EndFunc

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 15 di 314

Parametri da linea comandi


Lo speciale array $CmdLine è inizializzato con i parametri da linea comandi
passati al tuo script AutoIt. Nota che lo scriptname non è classificato come
parametro; ottieni questa informazioni con @ScriptName. Un parametro che contiene
spazi deve essere racchiuso da "doppi apici". Scripts compilati accettano
parametri da linea comandi nello stesso modo. $CmdLine[0] è il numero di parametri
$CmdLine[1] è param 1 (dopo il nome dello script) $CmdLine[2] è param 2 etc ...
$CmdLine[$CmdLine[0]] è un modo per ottenere l'ultimo parametro...

Quindi se il tuo script è eseguito come questo: AutoIt3.exe myscript.au3 param1


"questo è un altro parametro" $CmdLine[0] equivale a... 2 $CmdLine[1] equivale
a... param1 $CmdLine[2] equivale a... questo è un altro parametro @ScriptName
equivale a... myscript.au3

In aggiunta a $CmdLine c'è una variabile chiamata $CmdLineRaw che contiene


l'intera command line unsplit, così come riportato nell'esempio su: $CmdLineRaw
equivale a... AutoIt3.exe myscript.au3 param1 "questo è un altro parametro"

Script Editors
Gli scripts AutoIt sono semplici file di testo che puoi editare con notepad.exe.
Comunque ci sono molti editors free o shareware che sono molto migliori per
scrivere scripts ed hanno caratteristiche di "syntax highlighting", così che
parole chiave e funzioni di AutoIt si distinguono e rendono lo scripting molto più
facile e meno incline ad errori. Alcuni editors raccomandati sono: Scite TextPad
Crimson Editor (free) Source Edit (free) UltraEdit

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 16 di 314

Ci sono frequenti argomenti sul forum su quale sia il migliore. :)

AutoIt è fornito con alcuni files di sintassi pr-scritti per molti editors e
possono essere trovati nella Extra directory di installazione (c'è un link sotto
Start Menu / AutoIt v3 / Extra).

Compilare Scripts con Aut2Exe


E' possibile compilare il tuo script .au3 in un eseguibile standalone; questo
eseguibile può essere usato senza installare AutoIt e senza la necessità di avere
AutoIt3.exe sulla macchina. Inoltre, lo script compilato è compresso e criptato e
c'è l'opzione per inglobare files addizionali (anch'essi compressi/criptati)
all'exe usando la funzione the FileInstall . Inoltre, ogni #include files sarà
compilata nello script in modo da non essere richiesto a run-time.

Aut2Exe può essere usato in tre modi:

Metodo 1 - Start Menu


Disponibile solo se è stata eseguita l'installazione completa. 1. Apri il Menu
Start e vai al gruppo AutoIt v3. 2. Clicca Script Compiler \ Convert .au3 to .exe
3. L'interfaccia principale di Aut2Exe dovrebbe apparire.

4. Usa i pulsanti Browse per selezionare i tuoi files di input (.au3) e output
(.exe).

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 17 di 314

5. Se vuoi cambiare l'icone dell'exe che viene prodotto - semplicemente cerca


l'icona che ti interessa (alcune icone di esempio sono fornite in Program
Files\AutoIt3\Aut2Exe\Icons). 6. Se vuoi che nessuno sia in grado di ecompilare il
tuo script (quando un decompilatore è disponibile) dovresti inserire una
passphrase. 7. La sola altra opzione che potresti voler cambiare è il livello di
compressione (specialmente se usi FileInstall per aggiungere files extra). Usa il
menu Compression per impostare questa caratteristica. In generale, con tutte le
routines di compressione maggiore è la compressione e maggiore il tempo impiegato
pre comprimere i files. Tuttavia, la velocità di decompressione (quando il .exe è
in esecuzione) è la stessa indipendentemente dal livello di compressione. 8.
Clicca su Convert per compilare lo script.

Metodo 2 - Click con il pulsante di destra


Disponibile solo se è stata eseguita l'installazione completa. 1. In Explorer
naviga fino al file .au3 che vuoi compilare. 2. Clicca con il pulsante di destra
del mouse per accedere al menu pop-up.

3. Il file sarà compilato in modalità "silent" con lo stesso filename - giusto con
una estensione .exe Quando compilia in questo modo, Aut2Exe usa l'impostazione
corrente relativa ad icone/compressione (dall'ultima volta che Aut2Exe è statao
eseguito manualmente come nel metodo 1).

Method 3 - La linea comandi


Il programma Aut2Exe.exe può essere eseguito dalla linea comandi come segue:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 18 di 314

Aut2exe.exe /in <infile.au3> [/out <outfile.exe>][/icon <iconfile.ico>][/pass


<passphrase>] Filenames lunghi dovrebbero essere racchiusi in doppi apici come ad
esempio "C:\Program Files\Test\test.au3". Se nessun "out" file è fornito viene
usato il filename di input con un'estensione .exe.

Dettagli tecnici
Lo script compilato e i files addizionali aggiunti con FileInstall sono compressi
con il mio (Jon) schema di compressione LZSS/Huffman. La compressione raggiunge un
rapporto di copmprssione simile a quello di WinZip su moltissimi files e
leggermente meglio su files di grandi dimensioni. Poichè uno script compilato deve
essere "eseguito" senza una password ha bisogno di poter decriptare se stesso
needs to be able to decrypt itself - i.e., the encryption is two-way. For this
reason you should regard the compiled exe as being encoded rather than completely
safe. For example, if I wrote a script that contained a username and password
(say, for a desktop rollout) then I would be happy using something like a
workstation-level user/password but I would not consider it safe for a
domain/entire network password unless I was sure that the end-user would not have
easy access to the .exe file.

AutoIt Window Spy


Auto v3 è fornito con un tool standalone chiamato AutoIt Window Spy (Program
Files\AutoIt3\AU3_Spy.exe). Questo tool sostituisce la modalità "/reveal" usata da
versioni precedenti di AutoIt. AutoIt Window Spy consente di ottenere informazioni
da ogni finestra che può essere automatizzata. Le informazioni che possono essere
ottenute includono: Titoli di finestre Testo nelle finestre (visibili e nascoste)
Dimensione e posizione di una finestra Contenuti della status bar Posizione del
puntatore del mouse Colore dei pixels sotto il puntatore del mouse

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 19 di 314

Nome del Controllo sotto il puntatore del mouse Per usare AU3Spy eseguilo (dalla
linea comandi o dal menu Start). AU3Spy rimarrà in primo piano permettendoti di
leggere le informazioni riportate. Una volta attivato muovi il mouse sulla
finestra a cui sei interessato e attivala - i contenuti di AU3Spy cambieranno pe
rmostrare le informazioni che sono disponibili. Con l'aiuto di AU3Spy dovresti
poter automatizzare operazioni in pochissimo tempo!

Quando AU3Spy è in esecuzione puoi copiare un testo direttamente dalla sua


finestra principale usando CTRL-C e incollando il contenuto nel tuo script per
evitare errori di scrittura. Questa tecnica può essere difficoltosa quando vuoi
catturare informazioni relative ai pixel/mouse poichè queste informazioni cambiano
di continuo! Per aiutarti in questo scopo puoi "congelare" l'output di AU3Spy
premendo CTRL-ALT-F. Premi la combianzione di tasti nuovamente per "scongelare".

Qui c'è un esempio di uso di AU3Spy con l'editor Windows "Write":

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 20 di 314

Titoli e testi di finestre (Base)


Quando sono automatizzate, molte finestre possono essere identificate unicamente
dal titolo o da una combinazione del loro titolo & testo. E usando AutoIt Window
Spy (anche superficialmente) questa informazione è facile da ottenere. I titoli di
molte finestre sono abbastanza ovvi, per esempio Untitled - Notepad è il titolo
dell'editor notepad.exe e in molti casi è sufficiente per automatizzare.

Note: Se una stringa vuota "" è fornita sia per il titolo che per il testo sarà
usata la finestra correntemente attiva (ciò non è vero in alcune delle più
avanzate WinTitleMatchModes)!

Titoli e testi di finestre sono sensibili al minuscolo/maiuscolo. Devi confrontare


esattamente il tipo di carattere e la punteggiatura. Per evitare problemi
seleziona il titolo/testo in Window Spy, usa ctrlc per copiarlo e incollalo
direttamente nel tuo script.

Molte funzioni di finestre di AutoIt hanno spazio per un titolo e un testo; qui
c'è la funzione WinWaitActive. Questa funzione mette in pausa l'esecuzione di uno
script finchè la finestra specificata appare ed è attiva. WinWaitActive
( "titolo", ["testo"], [timeout] )

titolo è il solo parametro richiesto per questa funzione, entrambi i parametri


testo e timeout sono opzionali. In alcune funzioni il parametro testo non è
opzionale, se non desideri specificare alcun testo usa "" (una stringa vuota). Una
stringa vuota, o assolutamente nulla nel testo indica ad AutoIt che qualsiasi
testo è valido.

Per usare la funzione sopra con qualsiasi finestra notepad entrambi questi metodi
funzioneranno: WinWaitActive("Untitled - Notepad") e WinWaitActive("Untitled -
Notepad", "")

Se la stessa finestra notepad avesse "Questa è una linea di testo" impostata nella
finestra, Window Spy visualizzerebbe:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 21 di 314

Nota che Window Spy ha visto il titolo e il testo della finestra notepad.
Qualunque cosa che Window Spy può vedere può essere vista da AutoIt. Ora abbiamo
abbastanza informazioni per identificare questa esatta finestra anche se ci sono
molte altre finestre notepad aperte. In questo caso usiamo:

WinWaitActive("Untitled - Notepad", "Questa è una linea di testo")

Testo della finestra


Il testo della finestra consiste di tutto il testo che AutoIt può "vedere". Di
solito questo testo sarà dato dai contenuti di controlli edit (come sopra con
"Questa è una linea di testo") ma icluderà anche altro testo come: Testo di
pulsanti come &Yes, &No, &Next (l'& indica una lettera sottolineata) Testo di
finestre di dialogo come "Sei sicuro di voler continuare?" Testo di controlli
Testo vario - talvolta non conosci cos'è:)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 22 di 314

La cosa importante è che puoi usare il testo insieme con il titolo per
identificare unicamente una finestra con cui lavorare. Quando specifichi il
parametro testo in una funzione di finestra è trattato come una sottostringa. Così
nell'esempio su se tu usassi il testo "linea di" dovresti ottenere una
corrispondenza.

Quella che è stata descritta è la modalità di default con cui opera AutoIt; c'è un
numero di altre modalità avanzate da usare quando le cose non sono semplici come
queste.

Titoli e testi di finestre (Avanzato)


AutoIt opera con una di quattro modalità di "corrispondenza di finestre". Le
modalità sono impostate con la funzione AutoItSetOption che usa l'opzione
WinTitleMatchMode.

Modalità 1 (default) Confronta titoli parziali partendo dall'inizio. In questa


modalità una finestra intitolata Untitled - Notepad sarebbe confrontata da
"Untitled Notepad", "Untitled", "Un", etc. ad es. WinWait("Untitled")

Modalità 2 Confronta ogni sottostringa nel titolo. In questa modalità una finestra
intitolata Untitled - Notepad sarebbe confrontata da "Untitled -

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 23 di 314

Notepad", "Untitled", "Notepad", "pad", etc. ad es. WinWait("Notepad")

Modalità 3 Esatta corrispondenza del titolo. In questa modalità una finestra


intitolata Untitled - Notepad sarebbe confrontata da "Untitled Notepad"

Modalità 4 Modalità avanzata. In questa modalità sequenze speciali sono usate nel
parametro titolo così che possono essere usati i classnames della finestra e i
puntatori. Il parametro testo rimane lo stesso. Le sequenze speciali non devono
contenere whitespace. Esse sono: "classname=CLASSNAME" "handle=HANDLE" "active"
"last" o ""

Ad esempio quando sei in modalità 4 e vuoi identificare una finestra che ha il


classname "MYCLASS1" dovresti usare "classname=MYCLASS1" per il parametro titolo.
Quando usi un puntatore devi usare il valore di ritorno di una funzione
WinGetHandle (vedi funzione per un esempio). "active" confronta la finestra
correntemente attiva (la stessa di "" nel default WinTitleMatchMode). "last" usa
l'ultimo confronto di finestre riuscito così che non devi specificare il titolo e
il testo di nuovo e di nuovo. ad es. AutoItSetOption("WinTitleMatchMode", 4)
WinWaitActive("Untitled - Notepad") WinClose("last") ; Chiude la finestra notepad
confrontata in precedenza

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 24 di 314

Nota: Se "classname=", "handle=", "active", "last" o "" non sono usati come titolo
allora il confronto di finestre ha luogo in Modalità 1 rendendo quersta modalità
adatta per un uso generale.

Controlli
Una delle migliori nuove caratteristiche di AutoIt v3 è la capacità di funzionare
direttamente con certi tipi di Controlli di finestra. Quasi ogni oggetto che vedi
in una finestra è un controllo: pulsanti, listboxes, edit fields, testi statici
sono tutti controlli. Infatti Notepad è appunto un grande "Edit" control! Poichè
AutoIt funziona direttamente su un controllo essi forniscono un modo più
affidabile per automatizzare operazioni che inviare battute di tastiera.

Nota: AutoIt funziona solo con controlli Microsoft standard - alcune applicazioni
scrivono i loro controlli personalizzati che possono sembrare controlli MS
standard ma possono resistere all'automazione.

Usando AutoIt Window Spy puoi spostare il mouse sulla finestra a cui sei
interessato e ti saranno fornite informazioni sul controllo che in un dato momento
è sotto il mouse. Le informazioni su un controllo sono fornite come "classnameNN"
che è il classname interno del controllo seguito da un numero di istanza. Se hai
una semplice finestra di dialogo con pochi pulsanti essi saranno generalmente
referenziati come "Button1", "Button2", "Button3", etc. Usa Window Spy per
guardare i controlli del compilatore di AutoIt per avere un'idea - contiene
controlli "Button" "Static" e "Edit" ed è una buona applicazione con cui fare
pratica. Noterai inoltre che Window Spy fornisce il testo che puoi vedere su un
controllo, per esempio su un pulsante Next potresti vedere il testo &Next - dove &
indica che la lettera successiva è sottolineata

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 25 di 314

ed è comune quando lavori con menu and controlli. Puoi usare questo testo per
identificare un controllo al posto del "classnameNN" se ti piace - comunque se
molti controlli hanno lo stesso testo potresti avere problemi.

Guarda i contenuti di Function Reference \Window Management \ Controls per una


lista delle funzioni che lavorano con i controlli.

Uso voluto
Questo programma è stato progettato per eseguire compiti di automazione di GUI in
Windows. Non è stato progettato come "inizio e fine" dello scripting. Quando
esegui compiti complessi come ad esempio manipolazione di COM raccomaderei di
usare AutoIt in unione con altri linguaggi di scripting (come WSH o Kixtart -
entrambi gratuiti) e di usare AutoIt per "riempire i vuoti". Io personalmente uso
AutoIt for grandi riconfigurazioni di PC. Io uso WSH per scripting complessi/COM e
quindi li uso per chiamare AutoIt (o AutoItX/AutoItDLL) quando ho bisogno di
eseguire configurazioni che possono essere realizzate di solito con input manuali
(installare software, configurare il pannello di controllo, cambiare lettere di
drive, inviare chiavi e cliccare con il mouse, etc.).

Comunque, ci sono molte persone che usano AutoIt come linguaggio di scripting in
generale (e con v3 ciò è molto più realistico) e sono molto felici :)

- Jon

Note per utenti che hanno familiarità con AutoIt 2.64


A parte i concetti di finestre e battute di tastiera, AutoIt v3 è completamente
differente da v2.64 e versioni precedenti di AutoIt. v2.64 sarà ancora disponibile
per il download e ci sono poche ragioni per le quali gli utenti dovrebbero provare
a convertire scripts esistenti. Comunque v3 ha molte nuove caratteristiche che
rendono l'automazione di GUI più facile di prima, così come è diventato un
linguaggio di scripting per scopi generali. Quando cominci ad usare v3 quanto
segue dovrebbe aiutare a rendere le cose un po' più semplici. C'è anche uno script
convertitore da v2.64 a v3 disponibile nella directory "Extra" che è localizzata
nella directory di installazione.

- Backslashes non sono più caratteri speciali. Comunque, le virgolette sono un


nuovo problema.... Ad esempio, Run('C:\Windows\Notepad.exe "C:\Some File.txt" ') -
Sintassi da linea comandi:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 26 di 314

Cè soltanto una modalità script, ad es., AutoIt.exe <filename of script file> -


Convenzioni: <cmd>, <parameter1> [,<parameter2>] è stato sostituito con Cmd(parm1
[,parm2]) - Goto non esiste in seguito al supporto a loops e funzioni user-
defined. - AutoItv3 supporta variabili come molti linguaggi di programmazione:
$myVar = "Esempio di assegnazione" - Gli scripts hanno l'estensione .au3 invece di
.aut Se desideri riscrivere scripts versione 2.64 come versione 3, la tabella
seguente può aiutarti:

Funzione versione 2.64 AdlibOn BlockInput Break DetectHiddenText Exit EnvAdd


EnvDiv EnvMult EnvSub FileAppend FileCopy FileCreateDir FileDelete FileInstall
FileReadLine FileRemoveDir FileSelectFile Gosub Return Goto HideAutoItDebug
HideAutoItWin IfInString IfNotInString

Funzione equivalente nella versione 3 AdlibEnable BlockInput Break


AutoItSetOption("WinDetectHiddenText",...) Exit [vedi l'operatore +] [vedi
l'operatore /] [vedi l'operatore *] [vedi l'operatore -] [FileOpen(...,2) seguito
da FileWriteLine] FileCopy DirCreate FileDelete or FileRecycle FileInstall
FileReadLine DirRemove FileOpenDialog or FileSaveDialog [vedi Func...EndFunc]
[vedi Func...EndFunc] [non richiesto] -AutoItSetOption("TrayIconHide",...) If
StringInStr(...) Then If Not StringInStr(...) Then

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 27 di 314

IfWinExist IfWinNotExist IfWinActive IfWinNotActive IfEqual IfNotEqual IfGreater


IfGreaterOrEqual IfLess IfLessOrEqual IfExist IfNotExist IfMsgBox IniRead IniWrite
IniDelete InputBox LeftClick RightClick LeftClickDrag RightClickDrag MouseGetPos
MouseMove MsgBox Random RegRead RegWrite RegDelete Repeat EndRepeat Run RunWait
Send SetCapslockState SetEnv SetBatchLines SetKeyDelay

If WinExists(...) Then If Not WinExists(...) Then If WinActive(...) Then If Not


WinActive(...) Then [vedi gli operatori = e ==] [vedi l'operatore <>] [vedi
l'operatore >] [vedi l'operatore >=] [vedi l'operatore <] [vedi l'operatore <=]
FileExists If Not FileExists(...) Then [vedi MsgBox(...) e
Select...Case...EndSelect] IniRead IniWrite IniDelete InputBox
MouseClick("left",...) MouseClick("right",...) MouseClickDrag("left",...)
MouseClickDrag("right",...) MouseGetPos MouseMove MsgBox Random RegRead RegWrite
RegDelete [vedi For...Next] [vedi For...Next] Run RunWait Send
SendSetCapslockState EnvSet -AutoItSetOption("SendKeyDelay",...)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 28 di 314

SetStoreCapslockMode SetTitleMatchMode SetWinDelay Shutdown Sleep SplashTextOn


SplashTextOff StringCaseSense StringLeft StringRight StringMid StringLen
StringReplace StringTrimLeft StringTrimRight StringGetPos WinGetActiveStats
WinGetActiveTitle WinKill WinWait WinWaitClose WinWaitActive WinWaitNotActive
WinHide WinShow WinRestore WinMinimize WinMaximize WinActivate WinClose WinMove
WinSetTitle WinMinimizeAll WinMinimizeAllUndo #Include %CLIPBOARD% A_OSTYPE

AutoItSetOption("SendCapslockMode",...) AutoItSetOption("WinTitleMatchMode",...)
AutoItSetOption("WinWaitDelay",...) Shutdown Sleep SplashTextOn e altre SplashOff
[vedi funzioni individuali] StringLeft StringRight StringMid StringLen
StringReplace StringTrimLeft StringTrimRight StringInStr [vedi WinGetPos,
WinGetTitle, WinGetText] WinGetTitle("") WinKill WinWait WinWaitClose
WinWaitActive WinWaitNotActive WinSetState(..., @SW_HIDE) WinSetState(...,
@SW_SHOW) WinSetState(...,@SW_RESTORE) WinSetState(...,@SW_MINIMIZE)
WinSetState(...,@SW_MAXIMIZE) WinActivate WinClose WinMove WinSetTitle
WinMinimizeAll WinMinimizeAllUndo #Include [vedi ClipGet e ClipPut] @OSType

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 29 di 314

A_OSVERSION A_SCRIPTNAME A_SCRIPTDIR A_SCRIPTFULLPATH A_WORKINGDIR A_NUMBATCHLINES


A_SEC A_MIN A_HOUR A_MDAY A_MON A_YEAR A_WDAY A_YDAY

@OSVersion @ScriptName @ScriptDir @ScriptFullPath @WorkingDir -@SEC @MIN @HOUR


@MDAY @MON @YEAR @WDAY @YDAY

I fondamenti del linguaggio AutoIt: Datatypes Variables Macros Operators


Conditional Statements Loop Statements User Functions Comments

Riferimenti di Linguaggio - Datatypes


In AutoIt c'è solo un datatype chiamato Variant. Un variant può contenere dati
numerici o stringhe e decide come usarli in base al contesto in cui sono usati. Ad
esempio, se provi a moltiplicare due

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 30 di 314

variants essi saranno trattati come numeri, se provi a concatenare (join) due
variants essi saranno trattati come stringhe. Alcuni esempi: 10 * 20 è uguale al
numero 200 (* è usato per moltiplicare due numeri) 10 * "20" è uguale al numero
200 "10" * "20" è uguale al numero 200 10 & 20 è uguale alla stringa "1020" (& è
usato per unire stringhe)

Se una stringa è usata come numero ma non contiene un numero valido, sarà assunta
uguale a 0. Ad esempio, 10 * "fgh" è uguale al numero 0.

Numeri
I numeri possono essere numeri decimali standard come 2, 4.566, e -7. E' anche
supportata la numerazione scientifica; quindi, puoi scrivere 1.5e3 invece di 1500.
Numeri interi possono essere rappresentati anche in numerazione esadecimale
precedendo il numero intero con 0x come in 0x409 o 0x4fff (quando usi la
numerazione esadecimale solo i numeri a 32-bit sono validi).

Stringhe
Le stringhe sono racchiuse tra doppi apici come "questo". Se vuoi che una stringa
contenga doppi apici usa i doppi apici due volte come: "qui c'è un ""doppio
apice"" - ok?" Puoi anche usare apici singoli come 'questo' e 'qui è un ' 'apice
singolo' ' - ok?'

Puoi mischiare tipi di apici per rendere più facile il funzionamento ed evitare di
dover raddoppiare i tuoi apici per ottenere ciò che vuoi. Per esempio se vuoi
usare molti doppi apici nelle tue stringhe dovresti usare apici singoli per
dichiararli: 'Questa "frase" contiene "molti" "doppi apici" vero?' è molto più
facile di:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 31 di 314

"Questa ""frase"" contiene ""molti"" ""doppi apici"" vero?"

Range di Datatype
La seguente tabella mostra il range di valori che un datatype variant può tenere.
Data Sub-type Range e Note Numerico Stringa Un numero a "doppia precisione" che è
un numero con una precisione di 15 cifre nel range da 1.7E–308 a 1.7E+308.
(Memorizzato internamente come 8 bytes) Può contenere stringhe fino a 2 miliardi
di caratteri.

Alcune funzioni in AutoIt lavorano solo con numeri a 32 bit (ad es. BitAND) e sono
convertiti automaticamente - queste funzioni sono documentate dove richiesto.

Riferimenti di Linguaggio - Variabili


Una variabile è giusto un posto in memoria dove conservare dati che possano essere
acceduti rapidamente. Pensa ad essi come ad una casella di posta in memoria in cui
puoi mettere informazioni o da cui puoi prenderle. Ad esempio potresti creare una
variabile per conservare il numero che un utente ha fornito in risposta ad una
domanda, o il risultato di una equazione matematica. ogni variabile ha un nome (di
nuovo, simile ad una casella di posta) e deve cominciare con il carattere $ e può
contenere solo lettere, numeri e il carattere di sottolineatura _. Qui ci sono
alcuni nomi di esempio: $var1 $my_variable

Ogni variabile è conservata come variant.

Dichiarare variabili

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 32 di 314

Le variabili sono create e dichiarate con le parole chiave Dim, Local e Global:
Dim $var1 Oppure puoi dichiarare più variabili alla volta: Dim $var1, $myvariable

Puoi anche referenziare una variabile senza averla dichiarata prima, ma molti
preferiscono dichiarazioni esplicite. $var1 = "crea e assegna"

Scope
Lo scopo di una variabile è controllato in base a quando e come dichiari una
variabile. Se dichiari una variabile all'inizio del tuo script e al di fuori di
qualsiasi funzione essa esiste nello scopo Global e può essere letta o cambiata
dovunque nello script. Se dichiari una variabile all'interno di una funzione è
nello scopo Local e può essere usata solo entro quella stessa funzione. Variabili
create all'interno delle funzioni vengono distrutte automaticamente quando la
funzione termina. Per default quando le variabili sono dichiarate usando Dim o
assegnate in una funzione esse hanno lo scopo Local a meno che ci sia una
variabile globale con lo stesso nome (nel qual caso è riusata la variabile
globale). Ciò può essere alterato usando le parole chiave Local e Global per
dichiarare varibili e forzare lo scopo che vuoi.

Riferimenti di Linguaggio - Macros


AutoIt ha un numero di Macro che sono speciali variabili read-only usate da
AutoIt. Le macro cominciano con il carattere @ invece dell'usuale carattere $ e
quindi è facile distinguerli. Come succede con le normali variabili puoi usare le
macro nelle espressioni ma non puoi assegnare loro un valore.

Le macro predefinite sono generalmente usate per fornire un facile accesso a


informazioni di sistema come l'ubicazione della directory Windows, o il nome
dell'utente loggato.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 33 di 314

Vai qui per una lista completa.

Riferimenti di Linguaggio - Operatori


AutoIt ha i seguenti operatori matematici, logici e di confronto.

Operatore Descrizione + * / & ^ NOT Addiziona due numeri. ad es. 10 + 20 Sottrae


due numeri. ad es. 20 - 10 Divide due numeri. ad es. 20 / 10 Moltiplica due
numeri. ad es. 20 * 10 (è uguale a 30) (è uguale a 200) (è uguale a "one10") (è
uguale a 10) (è uguale a 2) (è uguale a 16)

Concatena/unisce due stringhe. ad es. "one" & 10 Eleva un numero alla potenza. ad
es. 2 ^ 4 Operatore logico NOT. ad es. NOT 1

(è uguale a 0)

= == <> > >= < <= AND OR

Testa se due valori sono uguali (indifferente al minuscolo/maiuscolo se usato con


stringhe). ad es. If $var= 5 Then (true se $var è uguale a 5) Testa se due valori
sono uguali (sensibile al minuscolo/maiuscolo se usato con stringhe) Testa se due
valori non sono uguali. Testa se il primo valore è maggiore del secondo. Testa se
il primo valore è maggiore o uguale al secondo. Testa se il primo valore è minore
del secondo. Testa se il primo valore è minore o uguale al secondo. Operatore
logico AND. ad es. If $var = 5 AND $var2 > 6 Then uguale a 5 e $var2 è più grande
di 6) Operatore logico OR. ad es. If $var = 5 OR $var2 > 6 Then a 5 o $var2 è più
grande di 6) (true se $var è

(true se $var è uguale

Quando più di un operatore è usato in un'espressione l'ordine con cui vengono


verificati è controllato dalla precedenza degli operatori. La precedenza usata in
AutoIt è fornita di seguito. Quando due operatori hanno la stessa precedenza
l'espressione è valutata da sinistra a destra. Dalla precedenza più alta alla più
bassa: NOT ^ */ +-

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 34 di 314

& < > <= >= = <> == AND OR

ad es. 2 + 4 * 10 è valutata come 42: 4 * 10 2 + 40 (è uguale a 40) (è uguale a


42)

poichè * ha una precedenza più alta di + si verifica prima dell'addizione.

Puoi usare parentesi quadre per forzare che una parte di un'espressione sia
valutata prima. ad es. (2 + 4) * 10 è uguale a 60.

Riferimenti di Linguaggio - Istruzioni condizionali


Tu vorrai spesso cambiare il flusso di esecuzione di uno script in base ad una o
ad una serie di condizioni. Un numero è più grande di un altro? Oppure, una
stringa contiene un certo valore? Le condizioni sono valutate come true (non-zero)
o false (zero). Le condizioni generalmente usano operatori di confronto come ==,
<>, >=.

Le seguenti istruzioni condizionali sono disponibili in AutoIt: If...Then...Else


Select...Case Entrambe le istruzioni sono simili e decidono quale istruzione
eseguire in base alla condizione data. Qui c'è un esempio di istruzione If che
visualizza una message box se una variabile è più grande di 10. $var = 20

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 35 di 314

If $var > 10 Then MsgBox(0, "Esempio", "$var è più grande di 10!") Else MsgBox(0,
"Esempio", "$var è minore di 10") EndIf Nell'esempio su l'espressione $var > 10 è
valutata true perchè la variabile è più grande di 10. Ciò ha causato il fatto che
l'istruzione If esegue la prima linea MsgBox e visualizza "$var è più grande di
10!".

Un'istruzione Select è molto simile, ma è generalmente usata quando vuoi testare


un grande numero di condizioni poichè di solito è più facile da leggere di un
grande blocco di tipo If/ElseIf. ad es. $var = 30 Select Case $var > 1 AND $var <=
10 MsgBox(0, "Esempio", "$var è più grande di 1") Case $var > 10 AND $var <= 20
MsgBox(0, "Esempio", "$var è più grande di 10") Case $var > 20 AND $var <= 30
MsgBox(0, "Esempio", "$var è più grande di 20") Case $var > 30 AND $var <= 40
MsgBox(0, "Esempio", "$var è più grande di 30") Case $var > 40 MsgBox(0,
"Esempio", "$var è più grande di 40") EndSelect

Riferimenti di Linguaggio - Istruzioni Loop


Un loop è il modo con cui ti riferisci a una sezione di uno script che ripeti un
certo numero di volte. Potresti voler eseguire un loop un dato numero di volte o
potresti voler ripetere una sezione di uno script fino a che una certa condizione
sia true o false.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 36 di 314

Le seguenti istruzioni di loop sono disponibili in AutoIt: For...Next While...WEnd


Do...Until Mentre (senza voler fare giochi di parole) tutte le istruzioni eseguono
loop simili, esse sono leggermente differenti e di solito alcune saranno molto più
appropriate di altri per una determinata situazione.

Riferimenti di Linguaggio - Funzioni Utente


Una funzione è una sezione di codice che può essere chiamata dallo script per
eseguire una certa "funzione". Ci sono due tipi di funzioni in AutoIt, inbuilt
functions e user functions.

Inbuilt Functions
La lista completa delle funzioni inbuilt è qui e le note sul loro uso sono qui.

Funzioni Utente
Le funzioni utente sono dichiarate usando le istruzioni Func...EndFunc . Le
funzioni possono accettare parametri e ritornare valori come richiesto. I nomi di
funzione devono cominciare con una lettera o un carattere di sottolineatura, e il
resto può contenere ogni combinazione di lettere, numeri e caratteri sdi
sottolineatura. Alcuni nomi di funzione validi sono: MyFunc Func1 _My_Func1

Qui c'è un esempio di uso di una funzione che raddoppia un numero 5 volte: $val =
10 For $i = 1 To 10 $doubled = MyDouble($val) MsgBox(0, "", $val & " raddoppiato è
" & $doubled) $val = $doubled Next

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 37 di 314

Exit Func MyDouble($value) $value = $value * 2 Return $value EndFunc

Riferimenti di Linguaggio - Commenti


Sebbene sia permesso solo un'istruzione per linea, un'istruzione lunga può
estendersi su più linee se un carattere di sottolineatura, _, è posto alla fine
della linea "spaccata". MsgBox(4096,"", "Questa è una linea piuttosto lunga,
perciò io _ l'ho spaccata con il carattere di sottolineatura _.")

Il carattere punto e virgola (;) è il carattere commento. A meno che il punto e


virgola sia entro una stringa, tutto il testo che segue viene ignorato
dall'interprete/compilatore di script. ; La linea successiva contiene un
significativo commento a fine linea Sleep(5000) ;mette in pausa lo script per 5
secondi NOTA: Non puoi mettere commenti su linee che finiscono con caratteri di
sottolineatura!

E' anche possibile commentare grandi blocchi di script usando le direttive


#comments-start e #comments-end.

Keyword Reference
Di seguito c'è una lista completa di keywords disponibili in AutoIt. Clicca su una
keyword per una

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 38 di 314

descrizione dettagliata.

Keyword #comments-start ContinueLoop Dim / Global / Local Do...Until Exit ExitLoop


For...Next Func...Return...EndFunc If...Then If...ElseIf...Else...EndIf #include
#include-once While...WEnd

Descrizione Specifica che un'intera sezione di uno script è commentata. Continua


un While/Do/For loop. Dichiara una variabile o crea un array. Loop basato su
un'espressione. Termina lo script. Termina un loop While/Do/For. Loop basato su
un'espressione. Definisce una funzione user-defined che riceve zero o più
argomenti e opzionalmente ritorna un risultato. Esegue una singola istruzione
condizionatamente. Esegue istruzioni condizionatamente. Include un file nello
script corrente. Specifica che il file corrente può essere incluso una volta sola.
Loop basato su un'espressione.

Select...Case...EndSelect Esegue istruzioni condizionatamente.

Riferimenti alle parole chiave


#comments-start
Specifica che un'intera sezione di uno script deve essere commentata. #comments-
start ... ... #comments-end

Parametri Nessuno.

Osservazioni Le direttive #comments-start e #comments-end possono essere


nidificate. Puoi anche usare le parole chiave abbreviate #cs e #ce.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 39 di 314

Addizionalmente, le direttive stesse possono essere commentate!

Funzioni correlate #include, #include-once

Esempio #comments-start MsgBox(4096, "", "Questo non sarà eseguito") MsgBox(4096,


"", "Or this") #comments-end ;;; #cs MsgBox(4096, "", "Questo stamperà se '#cs' è
commentato.") #ce

Riferimenti di parole chiave


#include
Include un file nello script corrente. #include "[path\]filename" #include
<filename>

Parametri Il filename dello script corrente da includere. Il path è opzionale.


Questa deve essere una stringa--non può essere una variabile. Se "..." è usato, il
filename è considerato relativo allo script corrente. Se <...> è usato il filename
è considerato relativo alla directory con la libreria include (di solito
C:\Program Files\AutoIt3\Include). La libreria include contiene molte user-
functions pre-scritte per te!

filename

Osservazioni In uno script AutoIt, altri scripts possono essere inclusi usando il
comando #include". #include deve essere in caratteri minuscoli.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 40 di 314

Affinchè la sinassi della libreria include (#include <file>) funzioni AutoIt deve
essere stato installato usando l'installatore fornito, altrimenti la directory di
installazione sarà sconosciuta è sarà usata la directory corrente dello script
(@ScriptDir\Include). Se includi lo stesso file contenente una user-function più
di una volta otterrai un errore "Funzione duplicata". Quando scrivi un include
file che può essere usato in questo modo, assicurati che la linea iniziale
contenga #include-once per prevenire che il file sia incluso più di una volta.

Parole chiave correlate #include-once, FileInstall

Esempio ;;; TIME.AU3 ;;; MsgBox(0,"", "L'ora è " & @HOUR & ":" & @MIN & ":" &
@SEC) ;;; SCRIPT.AU3 ;;; #include "TIME.AU3" MsgBox(0,"", "Esempio") #include
"TIME.AU3" Exit ; L'esecuzione di script.au3 produrrà tre message boxes: ; una con
l'ora, una con 'Esempio', e l'altra con l'ora.

Riferimenti di parole chiave


#include-once
Specifica che il file corrente può essere incluso solo una volta.

#include-once

Parametri Nessuno.

Osservazioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 41 di 314

Se includi lo stesso file contenente una user-function più di una volta, otterrai
un errore "Funzione duplicata". Quando scrivi un include file che può essere usato
in questo modo, assicurati che la linea iniziale contenga #include-once per
prevenire il fatto che il file sia incluso più di una volta.

Parole chiave correlate #include, FileInstall

Esempio ;;; LIBRARY.AU3 ;;; #include-once Func myFunc() MsgBox(0,"", "Ciao da


library.au3") EndFunc ;;; SCRIPT.AU3 ;;; #include "Library.au3" #include
"Library.au3" ;causa un errore se #include-once non è stata usata MsgBox(0,
"Esempio", "Questo è dal file 'script.au3'") myFunc() Exit ; L'esecuzione di
script.au3 produrrà le due message boxes: ; una dice "Questo è dal file
'script.au3'" ; e l'altra dice "Ciao da library.au3"

Riferimenti di parole chiave


ContinueLoop
Continua un loop While/Do/For.

ContinueLoop

Parametri Nessuno.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 42 di 314

Osservazioni ContinueLoop continuerà l'esecuzione del loop fino all'istruzione di


test dell'espressione (che è l'istruzione While, Until o For). Anche se qualsiasi
programma che usi ContinueLoop può essere riscritto usando istruzioni If-
ElseIfEnd, ContinueLoop può rendere gli scripts più facili da capire. Stai attento
con i loops While/Do; puoi creare loops infiniti usando incorrettamente
ContinueLoop.

Parole chiave correlate ExitLoop

Esempio ;Stampa tutti i numeri da 1 a 10 eccetto il numero 7 For $i = 1 to 10 If


$i = 7 Then ContinueLoop MsgBox(0, "Il valore di $i è:", $i) Next

Riferimenti di parole chiave


Dim / Global / Local
Dichiara una variabile o crea un array. Dim $variabile Dim $array[subscript
1]...[subscript n]

Parametri $variabile subscript Il nome della variabile da dichiarare. Il numero di


elementi da creare per la dimensione dell'array, indicizzato da 0 a n-1.

Osservazioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 43 di 314

Le parole chiave Dim/Local/Global eseguono una funzione simile. 1. Dichiara una


variabile prima di usarla (simile a VBScript) 2. Crea un array Nota: In AutoIt
puoi creare una variabile semplicemente assegnandole un valore ($myvar = 0) ma
molte persone preferiscono dichiararle esplicitamente. Puoi anche dichiarare più
variabili su una linea singola: Dim $a, $b, $c E pre-inizializzare, se la
variabile non è un array: Dim $a = 2, $b, $c = 20

La differenza tra Dim/Local/Global è lo scopo in cui sono create: Dim = Scopo


Local se il nome della variabile non esiste già globalmente (nel qual caso riusa
la variabile global!) Global = Forza la creazione della variabile nello scopo
Global Local = Forza la creazione della variabile nello scopo Local/Function
Quando usi variabili lo scopo local è attivato per primo e lo scopo global per
secondo. Quando crei arrays sei limitato a 64 dimensioni e/o un totale di 16
milioni di elementi. (Tecnico: La tabella interna di 4 bytes per elemento è
allocata al momento della creazione, ma la memoria attuale per ogni elemento è
allocata SOLO per gli elementi di primo utilizzo). Una caratteristica unica è la
capacità di copiare arrays come questo: $mycopy = $myarray In questo caso $mycopy
sarà una copia esatta di $myarray e avrà le stesse dimensioni - nessuna istruzione
Dim è richiesta per prima. Se la variabile $mycopy era già un array o valore sarà
cancellata prima che la copia avvenga. Per cancellare un array (forse perchè è un
array global di grandi dimensioni e vuoi liberare memoria), semplicemente assegna
ad esso un valore singolo: $array = 0 Ciò libererà l'array e lo riconvertirà al
valore singolo di 0. Dim per lo stesso nome di variabile cancellerà e reimposterà
le dimensioni alla nuova definizione.

Funzioni correlate UBound, ReDim

Esempio ; Esempio 1 - Dichiarare variabili

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 44 di 314

Dim $x, $y = 23, $z Global $PI = 3.14159, $RADIUS Local $daysWorking = 5 ; Esempio
2 - Dichiarare arrays Dim $weeklyWorkSchedule[$daysWorking] Global
$chessBoard[8][8] Local $mouseCoordinates[2], $windowStats[4]

Riferimenti di parole chiave


Do...Until
Loop basato su un'espressione. Do statements ... Until <expression>

Parametri espressione Le istruzioni tra Do e Until sono eseguite finchè


l'espressione è vera.

Osservazioni Le istruzioni Do...Until possono essere nidificate. L'espressione è


testata dopo che il loop viene eseguito, così che il loop sarà eseguito una o più
volte.

Parole chiave correlate ContinueLoop, ExitLoop, While...WEnd, For...Next

Esempio $i = 0 Do MsgBox(0, "Il valore di $i è:", $i) $i = $i + 1 Until $i = 10

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 45 di 314

Riferimenti di parole chiave


Exit
Termina lo script.

Exit [codice di ritorno]

Parametri [opzionale] Numero intero che imposta il codice di ritorno di uno


script. Questo codice può essere usato da Windows o dalla variabile DOS
%ERRORLEVEL%. Il default è 0. Gli scripts normalmente impostano un errorlevel a 0
se lo script è eseguito correttamente; error levels 1 e superiori tipicamente
indicano che lo script non è stato eseguito correttamente.

codice di ritorno

Osservazioni Il parametro, se incluso, può essere racchiuso in parentesi. Così, le


seguenti parole chiave sono equivalenti: Exit, Exit 0, e Exit(0). Comunque, Exit()
non è valida.

Parole chiave correlate ExitLoop

Esempio ;Primo Esempio Exit ;Secondo Esempio ; Termina lo script se non sono
passati argomenti da linea comandi If $CmdLine[0] = 0 Then Exit(1) ;Terzo Esempio
; Apre il file specificato come primo argomento da linea comandi $file =
FileOpen($CmdLine[1], 0) ; Controlla se il file aperto in lettura è OK

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 46 di 314

If $file = -1 Then Exit(2) ; Se il file è vuoto esce (lo script ha avuto successo)
$line = FileReadLine($file) If @error = -1 Then Exit ;il codice per elaborare il
file va qui FileClose($file) Exit ;è opzionale se è l'ultima linea dello script

Riferimenti di parole chiave


ExitLoop
Termina un loop While/Do/For.

ExitLoop [livello]

Parametri livello [opzionale] Il numero di livelli di loop da interrompere. Il


default è 1 (si intende il loop corrente).

Osservazioni Un valore negativo di livello non ha effetto; comunque, un valore di


livello zero termina lo script. ExitLoop interromperà un loop While, Do o For.
ExitLoop è utili quando non hai bisogno di eseguire in altro modo un controllo
degli errori nel looptest e nel loop-body.

Parole chiave correlate ContinueLoop, Exit

Esempio $sum = 0 While 1 ;usa un loop infinito finchè sarà chiamato ExitLoop

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 47 di 314

$ans = InputBox("Eseguito in totale=" & $sum, _ " Fornisci un numero positivo. (Un
numero negativo chiude lo script)") If $ans < 0 Then ExitLoop $sum = $sum + $ans
WEnd MsgBox(0,"La somma ès", $sum)

Riferimenti di parole chiave


For...Next
Loop basato su un'espressione. For <variabile> = <start> To <stop> [Step
<stepval>] istruzioni ... Next

Parametri variabile start stop stepval La variabile usata per il conteggio. Il


valore numerico iniziale della variabile. Il valore numerico finale della
variabile. [opzionale] Il valore numerico (possibilmente piccolo) con il quale il
contatore è incrementato per ogni loop. Il Default è 1.

Osservazioni Istruzioni For...Next possono essere nidificate. Il loop For termina


quando il valore della variabile eccede la soglia stop. Se stepVal o stop sono
variabili, il loro valore è letto solo la prima volta che il loop viene eseguito.
Un loop For sarà eseguito zero volte se: start > stop e step > 0, or start < stop
e step è negativo

Parole chiave correlate ContinueLoop, ExitLoop

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 48 di 314

Esempio For $i = 5 to 1 Step -1 MsgBox(0, "Contatore giù!", $i) Next MsgBox(0,"",


"Siamo fuori!")

Riferimenti di parole chiave


Func...Return...EndFunc
Definisce una funzione user-defined che prende zero o più argomenti e
opzionalmente ritorna un valore. Func functioname ( [ByRef] $param1, ..., [ByRef]
$paramN) ... [Valore [di ritorno]] EndFunc

Parametri I parametri sono impostati da te. In seguito puoi chiamare la funzione


con qualsiasi funzione built-in.

Osservazioni La parola chiave ByRef è opzionale e significa: (1) il parametro deve


essere una variabile, e (2) la variabile potrebbe essere cambiata dalla funzione.
Per default, un parametro è passato by value che significa che una copia del
valore del parametro è manipolata dalla funzione. Usa la parola chiave Return per
uscire dalla funzione. Diversamente dalle funzioni built-in, le funzioni user-
defined ritornano 0 a meno che viene specificato un altro valore. Gli arrays
possono essere passati alle funzioni (e ritornati da loro) semplicemente usando il
nome dell'array senza parentesi quadre. Nota che dichiarazioni di funzioni non
possono apparire all'interno di altre dichiarazioni di funzioni.

Parole chiave correlate Dim/Global/Local, #include

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 49 di 314

; Script di esempio con tre funzioni user-defined ; Nota l'uso delle variabili,
ByRef, e Return $foo = 2 $bar = 5 msgBox(0,"Oggi è " & today(), "$foo è uguale a "
& $foo) swap($foo, $bar) msgBox(0,"Dopo aver scambiato $foo e $bar", "$foo ora
contiene " & $foo) msgBox(0,"Finalmente", "Il più grande di 3 e 4 è " & max(3,4))
Exit Func swap(ByRef $a, ByRef $b) ;scambia i contenuti di due variabili Local $t
$t = $a $a = $b $b = $t EndFunc Func today() ;Ritorna la data corrente nel formato
mm/dd/yyyy ritorna (@MON & "/" & @MDAY & "/" & @YEAR) EndFunc Func max($x, $y)
;Ritorna il più grande di due numeri If $x > $y Then ritorna $x Else ritorna $y
EndIf EndFunc ;Fine dello script di esempio

Riferimenti di parole chiave


If...Then
Esegue una singola istruzione condizionalmente.

If <espressione> Then istruzione

Parametri espressione Se l'espressione è vera, l'istruzione viene eseguita.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 50 di 314

Osservazioni Questa versione dell'istruzione If è usata per eseguire un'istruzione


singola senza EndIf. l' espressione può contenere gli operatori booleani AND, OR,
e NOT così come gli operatori logici <, <=, >, >=, =, ==, e <> raggruppati con
parentesi se necessario.

Parole chiave correlate If...Else...EndIf, Select...Case...EndSelect

Esempio ;Termina uno script se non ci sono argomenti da linea comandi If


$CmdLine[0] = 0 Then Exit ;Alternativa: If $CmdLine[0] = 0 Then Exit EndIf

Riferimenti di parole chiave


If...ElseIf...Else...EndIf
Esegue istruzioni condizionalmente. If <espressione> Then istruzioni ... [ElseIf
espressione-n Then [elseif istruzioni ... ]] ... [Else [else istruzioni] ... EndIf

Parametri espressione Se l'espressione è vera, viene eseguito il primo blocco di


istruzioni. Se è falsa, il primo blocco vero ElseIf viene eseguito. Altrimenti, il
blocco "Else" viene eseguito.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 51 di 314

Osservazioni Istruzioni if possono essere nidificate. L' espressione può contenere


gli operatori booleani AND, OR, e NOT così come gli operatori logici <, <=, >, >=,
=, ==, e <> raggruppati con parentesi se necessario.

Parole chiave correlate If...Then, Select...Case...EndSelect

Esempio If $var > 0 Then MsgBox(4096,"", "Il valore è positivo.") ElseIf $var < 0
Then MsgBox(4096,"", "Il valore è negativo.") Else If StringIsXDigit ($var) Then
MsgBox(4096,"", "Il valore potrebbe essere esadecimalel!") Else MsgBox(4096,"",
"Il valore è una stringa oppure zero.") EndIf EndIf

Riferimenti di parole chiave


ReDim
Ridimensiona un array esistente

ReDim $array[subscript 1]...[subscript n]

Parametri $variable subscript Il nome della variabile da ridimensionare. Il numero


di elementi da creare per la dimensione di un array, indicizzato da 0 a n-1.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 52 di 314

Osservazioni La parola chiave ReDim è simile a Dim, eccetto che ReDim preserva i
valori nell'array invece di rimuovere i valori mentre ridimensioni un array. Il
numero di dimensioni deve rimanere lo stesso, o il vecchio array sarà
ridimensionato durante il the ReDim. L'array manterrà lo scopo (Global o Local)
che aveva prima del ridimensionamento. Nota: Se ReDim è usato su una variabile o
array che non esiste, ReDim si comporterà allo stesso modo di Dim.

Funzioni correlate Dim, UBound

Esempio ; Esempio di ridimensionamento di un array Dim $I, $K, $T, $MSG Dim
$X[4][6], $Y[4][6] For $I = 0 To 3 For $K = 0 To 5 $T = Int(Random(20) + 1)
;Ottiene numeri casuali tra 1 e 20 $X[$I][$K] = $T $Y[$I][$K] = $T Next Next ReDim
$X[3][8] Dim $Y[3][8] $MSG = "" For $I = 0 To UBound($X, 1) - 1 For $K = 0 To
UBound($X, 2) - 1 If $K > 0 Then $MSG = $MSG & ", " $MSG = $MSG & $X[$I][$K] Next
$MSG = $MSG & @CR Next MsgBox(0, "ReDim Demo", $MSG) $MSG = "" For $I = 0 To
UBound($Y, 1) - 1 For $K = 0 To UBound($Y, 2) - 1 If $K > 0 Then $MSG = $MSG & ",
" $MSG = $MSG & $Y[$I][$K] Next $MSG = $MSG & @CR Next MsgBox(0, "ReDim Demo",
$MSG)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 53 di 314

Riferimenti di parole chiave


Select...Case...EndSelect
Esegue istruzioni condizionatamente. Select Case <espressione> istruzione1 ...
[Case istruzione2 ...] [Case Else istruzioneN ...] EndSelect

Parametri Se l'espressione è vera saranno eseguite le istruzioni seguenti fino


all'istruzione Case successiva Case o EndSelect. Se è vera più di un'istruzione
Case, viene eseguita <espressione> solo la prima.

Osservazioni Istruzioni Select possono essere nidificate. l' espressione può


contenere gli operatori booleani AND, OR, e NOT così come gli operatori logici <,
<=, >, >=, =, ==, e <> raggruppati con parentesi se necessario.

Parole chiave correlate If...Then, If...Else...EndIf

Esempio Select Case $var = 1 MsgBox(0, "", "La prima espressione Case è vera")
Case $var2 = "test"

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 54 di 314

MsgBox(0, "", "La seconda espressione Case è vera") Case Else MsgBox(0, "",
"Nessuna espressione case precedente è vera!") EndSelect

Riferimenti di parole chiave


While...WEnd
Loop basato su un'espressione. While <espressione> istruzioni ... WEnd

Parametri espressione Se l'espressione è vera le istruzioni seguenti fino


all'istruzione WEnd vengono eseguite. Questo loop continua finchè l'espressione è
falsa.

Osservazioni Le istruzioni While...WEnd possono essere nidificate. L'espressione è


testata prima che il loop sia eseguito zero o più volte. Per creare un loop
infinito, puoi usare un numero diverso da zero come espressione.

Parole chiave correlate ContinueLoop, Do...Until, ExitLoop

Esempio $i = 0 While $i <= 10 MsgBox(0, "Il valore di $i è:", $i) $i = $i + 1 WEnd

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 55 di 314

Riferimenti alle Macro


Di seguito c'è la lista in ordine alfabetico di tutte le macro disponibili in
AutoIt.

Macro @AppDataCommonDir @AppDataDir @AutoItVersion @CommonFilesDir @Compiled


@ComputerName @ComSpec @CR @CRLF @DesktopCommonDir @DesktopDir @DesktopHeight
@DesktopWidth @DesktopDepth @DesktopRefresh @DocumentsCommonDir @error
@FavoritesCommonDir @FavoritesDir @HomeDrive @HomePath @HomeShare @HOUR
@IPAddress1 @IPAddress2

Desrizione path all'Application Data path al corrente user Application Data Numero
di versione di AutoIt, ad esempio 3.0.81.0 path alla cartella Common Files Ritorna
1 se lo script è un eseguibile compilato; altrimenti ritorna 0. Il nome di rete
del Computer. valore di %comspec%, L'interprete di comandi secondario specificato;
primariamente per uso da linea comandi, ad es. Run (@ComSpec & " /k help | more")
Carriage return, Chr(13); talvolta usato per interruzioni di linea. = @CR & @LF
;usato occasionalmente per interruzioni di linea. path al Desktop path all'utente
corrente del Desktop Altezza dello schermo in pixels (risoluzione orizzontale).
Larghezza dello schermo in pixels (risoluzione verticale). Profondità dello
schermo in bits per pixel. Refresh rate dello schermo in hertz. path alla cartella
Documenti Status dell'error flag. Vedi la funzione SetError. path alla cartella
Preferiti path alla cartella Preferiti dell'utente attivo Lettera del drive
contenente l'home directory dell'utente attivo. Parte dell'home directory
dell'utente attivo. Per ottenere il path completo, usalo in congiunzione con
@HomeDrive. @HomeShare - Nome del server e della condivisione contenente l'home
directory dell'utente attivo. Valore delle ore dell'orologio nel formato 24-ore.
Il range va da 00 a 23 IP address della prima scheda di rete. Tende a ritornare
127.0.0.1 su alcuni computer. IP address della seconda scheda di rete. Ritorna
0.0.0.0 se non applicabile.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 56 di 314

@IPAddress3 @IPAddress4 @LF @LogonDNSDomain @LogonDomain @LogonServer @MDAY @MIN


@MON @MyDocumentsDir @OSBuild @OSLang @OSServicePack @OSTYPE @OSVersion
@ProgramFilesDir @ProgramsCommonDir @ProgramsDir @ScriptDir @ScriptFullPath
@ScriptName @SEC @StartMenuCommonDir @StartMenuDir @StartupCommonDir @StartupDir
@SW_HIDE @SW_MAXIMIZE @SW_MINIMIZE @SW_RESTORE

IP address della terza scheda di rete. Ritorna 0.0.0.0 se non applicabile. IP


address della quarta scheda di rete. Ritorna 0.0.0.0 se non applicabile. Line
feed, Chr(10); Tipicamente usato per interruzioni di linea. Dominio DNS di Logon.
Dominio di Logon. Logon server. Giorno corrente del mese. Il range va da 01 a 31
Valore dei minuti dell'orologio. Il range va da 00 a 59 Mese corrente. Il range va
da 01 a 12 path alla cartella My Documents Ritorna il numero di build del OS. Ad
esempio, Windows 2003 Server ritorna 3790 Ritorna il codice che contraddistingue
il linguaggio di OS. Vedi l'Appendice per i possibili valori. Informazioni su
Service pack nella forma di "Service Pack 3" o, per Windows 95, può ritornare "B"
Ritorna "WIN32_NT" per NT/2000/XP e ritorna "WIN32_WINDOWS" per 95/98/Me Ritorna
uno dei seguenti valori: WIN_XP, WIN_2000, WIN_NT4, WIN_ME, WIN_98, WIN_95 path
alla cartella Program Files path alla cartella Programmi del menu Start path alla
cartella Programmi dell'utente corrente (cartella del menu Start) Directory
contenente lo script in esecuzione. (Il risultato non termina con il carattere
backslash) Equivalente a @ScriptDir & "\" & @ScriptName Filename lungo di uno
script in esecuzione. Valore dei secondi dell'orologio. Il range va da 00 a 59
path alla cartella del menu Start path al menu Start dell'utente corrente path
alla cartella Esecuzione automatica cartella Esecuzione automatica dell'utente
corrente Nasconde la finestra e attiva un'altra finestra. Massimizza la finestra
specificata. Minimizza la finestra specificata e attiva la successiva finestra
top-level nel Z order. Attiva e visualizza una finestra. Se la finestra è
minimizzata o massimizzata, ilsistema la ripristina alla sua posizione e

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 57 di 314

dimensione originali. Un'applicazione dovrebbe specificare questo flag quando


ripristina una finestra minimizzata. @SW_SHOW @SW_SHOWDEFAULT @SW_SHOWMAXIMIZED
@SW_SHOWMINIMIZED Attiva la finestra e la visualizza nella sua posizione e
dimensione correnti. Imposta lo stato di visualizzazione in base al valore SW_
specificato dal programma che ha avviato l'applicazione. Attiva la finestra e la
visualizza come finestra massimizzata. Attiva la finestra e la visualizza come
finestra minimizzata.

Visualizza come finestra minimizzata. Questo valore è simile a @SW_SHOWMINNOACTIVE


@SW_SHOWMINIMIZED, eccetto che la finestra non viene attivata. @SW_SHOWNA
Visualizza la finestra nella sua posizione e dimensioni correnti. Questo valore è
simile a @SW_SHOW, eccetto che la finestra non viene attivata. Visualizza una
finestra nella sua posizione e dimensioni più recenti. Questo valore è simile a
@SW_SHOWNORMAL, eccetto che la finestra non è attiva. Attiva e visualizza una
finestra. Se la finestra è minimizzata o massimizzata, ilsistema la ripristina
alla sua posizione e dimensioni originali. Un'applicazione dovrebbe specificare
questo flag quando visualizza una finestra per la prima volta. path alla cartella
di sistema di Windows (o System32) Carattere Tab, Chr(9) Path alla cartella
"temporary files". Path alla cartella di Profilo dell'utente corrente. ID
dell'utente correntemente loggato. Giorno numerico della settimana. Il range va da
1 a 7 e corrisponde al range da Domenica a Sabato. path alla cartella Windows
Directory di lvoro corrente/attiva. (Il risultato non contiene un carattere finale
backslash) Giorno corrente dell'anno. Il range va da 1 a 366 (o 365 se non è un
anno bisestile) Anno corrente a quattro cifre

@SW_SHOWNOACTIVATE

@SW_SHOWNORMAL @SystemDir @TAB @TempDir @UserProfileDir @UserName @WDAY


@WindowsDir @WorkingDir @YDAY @YEAR

Riferimenti alle Macro - Relative ad AutoIt


Di seguito c'è una lista di macro relative ad AutoIt.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 58 di 314

Macro @compiled @error @ScriptName @ScriptDir @ScriptFullPath @WorkingDir


@AutoItVersion

Descrizione Ritorna 1 se uno script è un eseguibile complilato; altrimenti,


ritorna 0. Status del flag error. Vedi la funzione SetError. Filename dello script
in esecuzione. Directory contenente lo script in esecuzione. (Il risultato non
contiene un backslash finale) Equivalente a @ScriptDir & "\" & @ScriptName
Directory di lavoro corrente/attiva. (Il risultato non contiene un backslash
finale) Numero di versione di AutoIt come 3.0.91.0

Per uso con le funzioni WinSetState, Run, RunWait : @SW_HIDE @SW_MAXIMIZE


@SW_MINIMIZE Nasconde la finestra e attiva un'altra finestra. Massimizza la
finestra specificata. Minimizza la finestra specificata e attiva la successiva
finestra top-level nello Z order. Attiva and visualizza la finestra. Se la
finestra è minimizzata o massimizzata, il sistema la riporta alla sua dimensione e
posizione originale. Un'applicazione dovrebbe specificare questo flag quando
ripristina una finestra minimizzata. Attiva la finestra e la visualizza con la sua
posizione e dimensione correnti. Imposta lo stato di visualizzazione in base al
valore SW_ specificato dal programma che ha avviato l'applicazione. Attiva la
finestra e la visualizza come finestra massimizzata. Attiva la finestra e la
visualizza come finestra minimizzata.

@SW_RESTORE

@SW_SHOW @SW_SHOWDEFAULT @SW_SHOWMAXIMIZE @SW_SHOWMINIMIE

visualizza la finestra come finestra minimizzata. Questo valore è


@SW_SHOWMINNOACTIVE simile a @SW_SHOWMINIMIE, eccetto che la finestra non è
attivata. @SW_SHOWNA visualizza la finestra con la sua posizione e dimensione
corrente. Questo valore è simile a @SW_SHOW, eccetto che la finestra non è
attivata. visualizza una window con la sua posizione e dimensione più recente.
Questo valore è simile a @SW_SHOWNORMAL, eccetto che la finestra non è attiva.
Attiva e visualizza una finestra. Se la finestra è minimizzata o massimizzata, il
sistema la ripristina alla sua originale posizione e dimensione. Un'applicazione
dovrebbe specificare questo flag quando visualizza la finestra per la prima volta.
Carriage return, Chr(13); talvolta usato per interruzioni di linea. Line feed,
Chr(10); usato tipcamente per interruzioni di linea.

@SW_SHOWNOACTIVATE

@SW_SHOWNORMAL

@CR @LF

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 59 di 314

@CRLF @TAB

= @CR & @LF; usato occasionalmente per interruzioni di linea. Carattere Tab,
Chr(9)

Riferimenti alle Macro - Directory


Di seguito c'è una lista di macro di Directory. Nota che i paths non contengono
backslash finali.

Macro

Descrizione

Macros per dati di "tutti gli utenti". Molti valori sono letti da
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion @AppDataCommonDir
@DesktopCommonDir @FavoritesCommonDir @ProgramsCommonDir @StartupCommonDir path
all'Application Data path al Desktop path a Favorites path alla cartella Start
Menu's Programs path alla cartella Startup

@DocumentsCommonDir path a Documents

@StartMenuCommonDir path alla cartella Start Menu

Macros per dati dell'utente corrente. Molti valori sono letti da


HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion @AppDataDir
@DesktopDir @MyDocumentsDir @FavoritesDir @ProgramsDir @StartMenuDir @StartupDir
@UserProfileDir path alla cartella Application Data dell'utente corrente path al
Desktop dell'utente corrente path a My Documents path ai Preferiti dell'utente
corrente path ai Programmi dell'utente corrente (cartella sul Menu Start) path al
Menu Start dell'utente corrente Cartella Startup dell'utente corrente Path alla
cartella Profile dell'utente corrente.

Altre macros per il computer system: @HomeDrive @HomePath @HomeShare Lettera del
Drive contenente la home directory dell'utente corrente. Directory path della home
directory dell'utente corrente. Per ottenere il path completo, usala in
congiunzione con @HomeDrive. Nome del server e della condivisione contenente la
home directory dell'utente corrente.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 60 di 314

@LogonDNSDomain @LogonDomain @LogonServer @ProgramFilesDir @CommonFilesDir


@WindowsDir @SystemDir @TempDir @ComSpec

Logon DNS Domain. Logon Domain. Logon server. path alla cartella Program Files
path alla cartella Common Files path alla cartella Windows path alla cartella
Windows' System (o System32) path alla cartella temporary files valore di
%comspec%, l'interprete secondario di comandi specificato ; primariamente per usi
da linea comandi, ad es. Run(@ComSpec & " /k help | more")

Riferimenti alle Macro - Informazioni di sistema


Di seguito c'è una lista di macro relative a informazioni di sistema.

Macro

Descrizione Ritorna un codice che indica il linguaggio del OS. Vedi Appendice per
i valori possibili. Ritorna "WIN32_NT" per NT/2000/XP e ritorna "WIN32_WINDOWS"
per 95/98/Me Ritorna uno dei seguenti: WIN_XP, WIN_2000, WIN_NT4, WIN_ME, WIN_98,
WIN_95 Ritorna il numero di build OS. Per esempio, Windows 2003 Server ritorna
3790 Informazioni sui Service pack nel formato di "Service Pack 3" o, per Windows
95, può ritornare "B" Il nome di rete del computer. ID dell'utente loggato
attualmente. Tende a ritornare 127.0.0.1 su alcuni computers. IP address della
seconda scheda di rete. Ritorna 0.0.0.0 se non applicabile. IP address della terza
scheda di rete. Ritorna 0.0.0.0 se non applicabile.

@OSLang @OSType @OSVersion @OSBuild @OSServicePack

@ComputerName @UserName @IPAddress1 @IPAddress2 @IPAddress3

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 61 di 314

@IPAddress4 @DesktopWidth @DesktopHeight @DesktopDepth @DesktopRefresh

IP address della quarta scheda di rete. Ritorna 0.0.0.0 se non applicabilee.


Larghezza dello schermo in pixels. (risoluzione verticale) Altezza dello schermo
in pixels. (risoluzione orizzontale) Profonfità dello schermo in bits per pixel.
Refresh rate dello schermo in hertz.

Riferimenti alle Macro - Ora e Data


Di seguito c'è unal ista di macro relative ad ora e data. Nota che la maggior
parte dei valori di ritorno sono lunghi due cifre.

Macro @SEC @MIN @HOUR @MDAY @MON @YEAR @WDAY @YDAY

Descrizione Valore dei secondi dell'orologio. Il range va da 00 a 59 Valore dei


minuti dell'orologio. Il range va da 00 a 59 Valore delle ore dell'orologio nel
formato 24-ore. Il range va da 00 a 23 Giorno corrente del mese. Il range va da 01
a 31 Mese corrente. Il range va da 01 a 12 Anno corrente a quattro cifre Numero
del giorno della settimana. Il range va da 1 a 7 che corrisponde al range da
Domenica a Sabato. Giorno corrente dell'anno. Il range va da 1 a 366 (o 365 se non
è un anno bisestile)

Function Reference
Di seguito c'è la lista completa delle funzioni disponibili in AutoIt. Clicca sul
nome di una funzione per una descrizione dettagliata.

Funzione Abs ACos

Descrizione Calcola il valore assoluto di un numero. Calcola l' arcocoseno di un


numero.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 62 di 314

AdlibDisable AdlibEnable Asc ASin ATan AutoItSetOption AutoItWinGetTitle


AutoItWinSetTitle BitAND BitNOT BitOR BitShift BitXOR BlockInput Break Call CDTray
Chr ClipGet ClipPut ControlClick ControlCommand ControlDisable ControlEnable
ControlFocus ControlGetFocus ControlGetPos ControlGetText ControlHide ControlMove
ControlSend ControlSetText ControlShow Cos Dec

Disabilita la funzionalità Adlib. Abilita la funzionalità Adlib. Ritorna il codice


ASCII di un carattere. Calcola 'arcoseno di un numero. Calcola l'arcotangente di
un numero. Cambia le opzioni di varie funzioni/parametri di AutoIt. Ricava il
titolo della finestra di AutoIt. Cambia il titolo della finestra di AutoIt. Esegue
un'operazione bitwise AND. Esegue un'operazione bitwise NOT. Esegue un'operazione
bitwise OR. Esegue un'operazione di trasferimento di bit. Esegue un'operazione
bitwise esclusiva OR (XOR). Disabilita/abilita il mouse e la tastiera. Abilita o
disabilita la possibilità per l'utente di chiudere uno script dal menu della tray
icon. Chiama una funzione definita dall'utente contenuta in un parametro stringa.
Apre o chiude lo sportello del CD. Ritorna un carattere corrispondente af un
codice ASCII. Recupera testo dalla clipboard. Scrive testo nella clipboard. Invia
un comando di click del mouse ad un dato controllo. Invia un comando ad un
controllo. Disabilita o "colora di grigio" un controllo. Abilita un controllo
"colorato di grigio". Imposta il focus su un dato controllo in una finestra.
Ritorna il ControlRef# del controllo che ha il focus della tastiera entro una
specifica finestra. Recupera la posizione e la dimensione di un controllo
relativamente alla sua finestra. Recupera il testo da un controllo. Nasconde un
controllo. Muove un controllo all'interno di una finestra. Invia una stringa di
caratteri ad un controllo. Imposta il testo di un controllo. Mostra un controllo
che era nascosto. Calcola il coseno di un numero. Ritorna una rappresentazione
numerica di una stringa esadecimale.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 63 di 314

DirCopy DirCreate DirMove DirRemove DriveGetDrive DriveGetFileSystem DriveGetLabel


DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel
DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Exp
FileChangeDir FileClose FileCopy FileCreateShortcut FileDelete FileExists
FileFindFirstFile FileFindNextFile FileGetAttrib FileGetLongName FileGetShortcut
FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall

Copia una directory e tutte le sub-directory e file (Simile a xcopy). Crea una
directory/folder. Muove una directory e tutte le sub-directory e files. Cancella
una directory. Ritorna un array contenente i drive elencati. Ritorna il tipo di
File System di un drive. Ritorna la Label di Volume di un drive, se ne ha uno.
Ritorna il Serial Number di un drive. Ritorna il tipo di drive. Mappa un network
drive. Disconnette un network drive. Recupera i dettagli di un drive mappato.
Imposta la Label di Volume di un drive. Ritorna lo spazio libero su disco di un
path in Megabytes. Ritorna lo spazio disco totale di un path in Megabytes. Ritorna
lo status di un drive sotto forma di stringa. Recupera una variabile di ambiente.
Scrive una variabile di ambiente. Aggiorna l'ambiente OS. Ritorna il valore della
variabile il cui nome è fornito da un'espressione. Calcola e alla potenza di un
numero. Cambia la directory di lavoro corrente. Chiude un file di testo aperto in
precedenza. Copia uno o più file. Crea uno shortcut (.lnk) ad un file. Cancella
uno o più file. Controlla se un file o directory esiste. Ritorna un filename in
base alla stringa di ricerca. Ritorna un filename in base alla precedente call
alla funzione FileFindFirstFile. Ritorna una stringa che rappresenta gli atributi
di un file. Ritorna il path+name lungo del path+name fornito. Recupera i dettagli
circa uno shortcut. Ritorna il path+namethe 8.3 breve del path+name fornito.
Ritorna la dimensione di un file in bytes. Ritorna la data e ora di un file.
Ritorna la versione di un "File". Include un file nello script compilato e lo
installa .

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 64 di 314

FileMove FileOpen FileOpenDialog FileRead FileReadLine FileRecycle


FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetTime
FileWrite FileWriteLine Hex HotKeySet IniDelete IniRead IniWrite InputBox Int
IsAdmin IsArray IsDeclared IsFloat IsInt IsNumber IsString Log MemGetStats Mod
MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp

Muove uno o più files. Apre un file di testo in lettura o scrittura. Avvia una
Dialog Box "Open File". Legge un numero di caratteri da un file di testo aperto in
precedenza. Legge una riga da un file di testo aperto in precedenza. Invia un file
o directory nel Cestino, se possibile. Svuota il cestino. Avvia una Dialog Box
"Save File". Avvia una GUI "Browse For Folder". Imposta gli attributi di uno o più
file. Imposta data e ora di uno o più file. Accoda una linea di testo ad un file
di testo aperto in precedenza. Accoda una linea di testo ad un file di testo
aperto in precedenza. Ritorna la rappresentazione in formato stringa di un numero
intero convertito in esadecimale. Imposta una hotkey che chiama una funzione
utente. Cancella un valore da un file .ini standard. Legge un valore da un file
.ini standard. Scrive un valore in un file .ini standard. Visualizza un input box
per chiedere all'utente di digitare una stringa. Ritorna la rappresentazione
numerica (numero intero) di un'espressione. Controlla se l'utente corrente a
diritti di amministrazione. Controlla se una variabile è di tipo array. Controlla
se una variabile è stata dichiarata. Controlla se una variabile o espressione è di
tipo float. Controlla se una variabile o espressione è di tipo integer. Controlla
se il tipo di una variabile è numerico. Controlla se una variabile è di tipo
stringa. Calcola il logaritmo naturale di un numero. Recupera informazioni
relative alla memoria. Esegue l'azione modulo. Esegue un'azione di mouse click.
Esegue un'azione di mouse click e trascinamento. Esegue un evento di "mouse down"
alla posizione corrente del mouse. Ritorna a cursor ID Number del cursore del
mouse corrente. Recupera la posizione corrente del cursore del mouse. Muove il
puntatore del mouse. Esegue un evento "mouse up" alla posizione corrente del
mouse.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 65 di 314

MouseWheel MsgBox Number PixelChecksum PixelGetColor PixelSearch ProcessClose


ProcessExists ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff
ProgressOn ProgressSet Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite
Round Run RunAsSet RunWait Send SetError Shutdown Sin Sleep SoundPlay
SplashImageOn SplashOff SplashTextOn

Muove la rotellina del mouse su o giù. SOLO NT/2000/XP. Visualizza una semplice
message box con un timeout opzionale. Ritorna la rappresentazione numerica di
un'espressione. Genera un checksum per una regione di pixels. Ritorna il colore di
un pixel in base alle coordinate x,y del pixel. Ricerca un rettangolo di pixel per
il colore di pixel fornito. Termina un dato processo. Controlla se uno specifico
processo esiste. Cambia la priorità di un processo Interrompe l'esecuzione di uno
script fino a che un dato processo esiste. Interrompe l'esecuzione di uno script
fino a che un dato processo viene chiuso. Chiude una "Progress window". Crea una
finestra "progress bar" personalizzabile. Imposta la posizione e/o il testo di una
finestra "Progress bar" creata in precedenza. Genera un numero di tipo float
pseudo-random. cancella una chiave o un valore dal registry. Legge il nome di una
subkey in base alla sua istanza. Legge il nome di un valore in base alla sua
istanza. Legge un valore dal registry. Crea una chiave o valore nel registry.
Ritorna un numero arrotondato ad uno specifico numero di posizioni decimali.
Esegue un programma esterno. Inizializza un set di credenziali utente per usarle
nelle funzioni Run e RunWait. SOLO 2000/XP o successive. Esegue un programma
esterno e interrompe l'esecuzione di uno script fino a che il programma termina.
Invia battute di tasti simulate alla finestra attiva. Imposta manualmente il
valore della macro @error. Chiude il sistema. Calcola il seno di un numero.
Interrompe l'esecuzione di uno script. Esegue un file musicale. Crea una finestra
popup personalizzabile con un'immagine. Chiude uno SplashText o SplashImage. Crea
una finestra popup personalizzabile con testo.

SoundSetWaveVolume Imposta il volume di sistema in percentuale.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 66 di 314

Sqrt StatusbarGetText String StringAddCR StringFormat StringInStr StringIsAlNum


StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower
StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower
StringMid StringReplace StringRight StringSplit StringStripCR StringStripWS
StringTrimLeft StringTrimRight StringUpper Tan TimerDiff TimerInit ToolTip TrayTip
UBound URLDownloadToFile

Calcola la radice quadrata di un numero. Recupera il testo da un controllo status


bar standard. Ritorna la rappresentazione stringa di un'espressione. Prefissa
tutti i caratteri linefeed ( Chr(10) ) di una stringa con un carattere carriage
return ( Chr(13) ). Ritorna una stringa formattata (simile alla funzione C
sprintf()). Controlla se una stringa contiene una data sottostringa. Controlla se
una stringa contiene solo caratteri alfanumerici. Controlla se una stringa
contiene solo caratteri alfabetici. Controlla se una stringa contiene solo
caratteri ASCII nel range 0x00 0x7f (0 - 127). Controlla se un stringa contiene
solo caratteri numerici (0-9). Controlla se una stringa è un numero "float".
Controlla se una stringa è un numero intero. Controlla se una stringa contiene
solo caratteri minuscoli. Controlla se una stringa contiene solo caratteri space.
Controlla se una stringa contiene solo caratteri maiuscoli. Controlla se una
stringa contiene solo caratteri numeri esadecimali digit (0-9, A-F). Ritorna un
numero di caratteri dalla posizione sinistra di una stringa. Ritorna il numero di
caratteri di una stringa. Converte una stringa in caratteri minuscoli. Estrae un
numero di caratteri da una stringa. Sostituisce sottostringhe in una stringa.
Ritorna un numero di caratteri dalla posizione destra di una stringa. Divide una
stringa in sottostringhe in base ad un delimitatore. Rimuove tutti i valori
carriage return ( Chr(13) ) da una stringa. Rimuove i caratteri space da una
stringa. Dispone un numero di caratteri alla sinistra di una stringa. Dispone un
numero di caratteri alla destra di una stringa. Converte una stringa in caratteri
maiuscoli. Calcola la tangente di un numero. Ritorna la differenza di tempo da una
precedente chiamata a TimerInit(). Ritorna un timestamp (in millisecondi). Crea un
tooltip dovunque sullo schermo. Visualizza un "balloon tip" dall'icona di AuotIt.
(solo 2000/XP) Ritorna la size di dimensioni di array. Scarica un file da
internet.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 67 di 314

WinActivate WinActive WinClose WinExists WinGetCaretPos WinGetClassList


WinGetClientSize WinGetHandle WinGetPos WinGetState WinGetText WinGetTitle WinKill
WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop
WinSetState WinSetTitle WinWait WinWaitActive WinWaitClose WinWaitNotActive

Attiva (dà il focus a) una finestra. Controlla se una specifica finestra esiste ed
è attiva. Chiude una finestra. Controlla se una specifica finestra esiste. Ritorna
le coordinate del carattere caret nella finestra in primo piano Recupera la classe
di una finestra. Recupera la dimensione di una data area client di una finestra.
Recupera l'identificativo interno di una finestra. Recupera la posizione e la
dimensione di una finestra. Recupera lo stato di una finestra. Recupera il testo
di una finestra. Recupera il titolo completo di una finestra. Forza la chiusura di
una finestra. Attiva una voce di menu di una finestra. Minimizza tutte le
finestre. Annulla una precedente funzione WinMinimizeAll. Muove e/o cambia le
dimensioni di una finestra. Cambia l'attributo di finestra "Always On Top".
Visualizza, nasconde, minimizza, massimizza o ripristina una finestra. Cambia il
titolo di una finestra. Interrompe l'esecuzione di uno script fino a quando la
finestra richiesta esiste. Interrompe l'esecuzione di uno script fino a quando la
finestra richiesta è attiva. Interrompe l'esecuzione di uno script fino a quando
la finestra richiesta non esiste. Interrompe l'esecuzione di uno script fino a
quando la finestra richiesta non è attiva.

Appunti sulle Funzioni


Molte funzioni contengono parametri opzionali che possono essere omessi. Se
desideri specificare un parametro opzionale, comunque, tutti i parametri che lo
precedono devono essere specificati! Ad esempio, considera Run ( "filename",
["workingdir" [, flag]] ). Se desideri specificare il flag, devi specificare una
workingdir. Molte funzioni Win___ contengono un parametro opzionale "text." Questo
parametro è inteso per aiutare a differenziare tra finestre che hanno titoli
identici. Alcune funzioni indicano successo/fallimento con un return value; altre
lo indicano settando l' @error flag. Altre fanno entrambe le cose.... @error = 0
;indica sempre successo

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 68 di 314

Return = varia, ma è tipicamente non-zero in caso di successo per consentire un


codice facile da leggere... If someUserFunc() then ;...funzione OK If Not
someUserFunc() then ;...funzione fallita $x = FileReadLine("C:\someFile.txt") If
@error = -1 Then ;è stata raggiunta l'end-of-file Se una funzione può settare l'
@error flag, dovresti sempre controllarlo prima di usare un return value - se
@error indica un errore allora il return value della funzione è generalmente
indefinito...

Riferimenti alle funzioni


ClipGet
Recupera il testo dalla clipboard.

ClipGet ( )

Parametri Nessuna.

Valore di ritorno Successo: Ritorna una stringa contenente il testo della


clipboard. Insuccesso: Imposta @error a 1 se la clipboard è vuota o contiene dati
non-testo.

Osservazioni Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 69 di 314

Riferimenti alle funzioni ClipPut

Esempio $bak = ClipGet() MsgBox(0, "La Clipboard contiene:", $bak) ClipPut($bak &
"testo addizionale") MsgBox(0, "La Clipboard contiene:", ClipGet())

Riferimenti alle funzioni


ClipPut
Scrive testo nella clipboard.

ClipPut ( "valore" )

Parametri valore Il testo da scrivere nella clipboard.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Tutti i contenuti della clipboard vengono sovrascritti.

Funzioni correlate ClipGet

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 70 di 314

Esempio ClipPut("Questo testo viene copiato nella clipboard")

Riferimenti alle funzioni


EnvGet
Recupera una variabile d'ambiente.

EnvGet ( "envvariabile" )

Parametri envvariabile Nome della variabile d'ambiente da determinare come ad


esempio "TEMP" o "PATH".

Valore di ritorno Ritorna la variabile richiesta (o una stringa vuota se la


variabile non esiste).

Osservazioni Nessuna.

Funzioni correlate EnvSet, EnvUpdate

Esempio $var = EnvGet("PATH") MsgBox(4096, "la variabile Path è:", $var)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 71 di 314

Riferimenti alle funzioni


EnvSet
Scrive una variabile d'ambiente.

EnvSet ( "nomevariabile" [, "valore"] )

Parametri nomevariabile Nome della variabile d'ambiente da ottenere, ad es.


"COMSPEC" o "PATH". valore [opzionale] valore della variabile d'ambiente da
impostare. Se un valore non è usato la variabile d'ambiente sarà cancellata.

Valore di ritorno Nessuna.

Osservazioni Una variabile d'ambiente impostata in questo modo sarà accessibile


solo a programmi che AutoIt avvia (Run, RunWait). Una volta che AutoIt termina, le
variabili cesseranno di esistere.

Funzioni correlate EnvGet, EnvUpdate

Esempio EnvSet("MYENV", "questo è un test")

Riferimenti alle funzioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 72 di 314

EnvUpdate
Rinnova l'ambiente OS.

EnvUpdate ( )

Parametri Nessuno.

Valore di ritorno Successo: Nessuno. Insuccesso: Imposta @error a 1.

Osservazioni L'effetto è simile a "log off" e di nuovo "log on". Ad esempio,


modifiche alla variabile d'ambiente % path% potrebbero non avere effetto fino a
quando viene chiamata EnvUpdate (o esegui logoff/reboot).

Funzioni correlate EnvGet, EnvSet

Esempio EnvUpdate()

Riferimenti alle funzioni


DirCopy
Copia una directory e tutte le sub-directories e files (Simile a xcopy).

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 73 di 314

DirCopy ( "origine dir", "dest dir" [, flag] )

Parametri origine dir dest dir flag Path della directory origine (senza backslash
finale). ad es. "C:\Path1" Path della directory di destinazione (senza backslash
finale). ad es. "C:\Path_Copy" [opzionale] questo flag determina se sevrascrivere
file che già esistono: 0 = (default) non sovrascrivere files che già esistono 1 =
sovrascrivere files che già esistono

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verifica un


errore copiando una directory.

Osservazioni Se la struttura della directory di destinazione non esiste, sarà


creata (se possibile).

Funzioni correlate DirRemove, FileCopy

Esempio DirCopy("C:\My Documents", "C:\Backups\MyDocs", 1)

Riferimenti alle funzioni


DirCreate
Crea una directory/folder. DirCreate ( "path" )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 74 di 314

Parametri path Path della directory da creare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se c'è un errore


nella creazione della directory.

Osservazioni Questa funzione creerà anche tutte le directory fornite in "path" se


non sono già presenti.

Funzioni correlate DirRemove, FileCopy

Esempio DirCreate("C:\Test1\Folder1\Folder2")

Riferimenti alle funzioni


DirMove
Muove una directory e tutte le sub-directories e files.

DirMove ( "origine dir", "dest dir" [, flag] )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 75 di 314

origine dir dest dir flag

Path della directory origine (senza backslash finale). ad es. "C:\Path1" Path
della directory di destinazione (senza backslash finale). ad es. "C:\Path_Copy"
[opzionale] questo flag determina se sovrascrivere file che già esistono: 0 =
(default) non sovrascrivere file che già esistono 1 = sovrascrivere file che già
esistono

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verifica un


errore durante l'operazione di move della directory.

Osservazioni Se origine e destinazione sono su volumi differenti o sono usati path


UNC sarà eseguita un'operazione di copy/delete al posto di una move. Se la
destinazione è già presente e il flag "overwrite" è specificato la origine
directory sarà mossa all'interno della destinazione.

Funzioni correlate DirRemove, FileMove

Esempio DirMove("C:\My Documents", "C:\Backups\MyDocs")

Riferimenti alle funzioni


DirRemove
Rimuove una directory/folder.

DirRemove ( "path" [,recurse] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 76 di 314

Parametri path recurse Path della directory da rimuovere. [opzionale] Usa questo
flag per specificare se vuoi rimuovere anche le subdirectories. 0 = (default) non
rimuove files e sub-directories 1 = rimuove files e subdirectories (come il
comando DOS DelTree)

Valore di ritorno Successo: Ritorna 1. Ritorna 0 se si verifica un errore durante


la rimozione della directory (o se la directory Insuccesso: non esiste).

Osservazioni Nessuna.

Funzioni correlate DirCreate, FileRecycle

Esempio ; Rimuove C:\Test1 e tutte le subdirs e files DirRemove("C:\Test1", 1)

Riferimenti alle funzioni


DriveGetDrive
Ritorna un array contenente i drive enumerati.

DriveGetDrive ( "tipo" )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 77 di 314

Parametri Tipo di drive da trovare: "ALL", "CDROM", "REMOVABLE", "FIXED",


"NETWORK", "RAMDISK", o "UNKNOWN"

tipo

Valore di ritorno Successo: Ritorna un array di stringhe (lettera di drive letter


seguita da "due punti") di drive trovati. L'elemento zero dell'array contiene il
numero di drives. Insuccesso: Ritorna 1 e imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate DriveGetFileSystem, DriveGetLabel, DriveGetSerial,


DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus

Esempio $var = DriveGetDrive( "all" ) If NOT @error Then MsgBox(4096,"", "Trovati


" & $var[0] & " drives") For $i = 1 to $var[0] MsgBox(4096,"Drive " & $i,
$var[$i]) Next EndIf

Riferimenti alle funzioni


DriveGetFileSystem
Ritorna il Tipo di File System Type di un drive.

DriveGetFileSystem ( "path" )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 78 di 314

Parametri path Path del drive dal quale ricevere informazioni.

Valore di ritorno Successo: Ritorna il Tipo di File System del drive sotto forma
di stringa; vedi la tabella di seguito. Insuccesso: Imposta @error to 1. Valore di
ritorno 1 (numerico) "FAT" "FAT32" "NTFS" "CDFS" "UDF" Interpretazione Il drive
NON contien media (CD, Floppy, Zip) o il media non è formattato (RAW). Tipico file
system per drives sotto ~500 MB come Floppy, RAM disks, USB "pen" drives, etc.
Tipico file system for Windows 9x/Me hard drives. Tipico file system per Windows
NT/2000/XP hard drives. Tipicamente indica un CD (o un'immagine ISO montata come
CD drive virtuale). Tipicamente indica un DVD.

Osservazioni La lista di possibili valori di ritorno potrebbe essere incompleta.

Funzioni correlate DriveGetDrive, DriveGetLabel, DriveGetSerial, DriveGetType,


DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus

Esempio $var = DriveGetFileSystem( "c:\" ) MsgBox(4096,"File System Type:", $var)

Riferimenti alle funzioni


DriveGetLabel

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 79 di 314

Ritorna la Label di volume di un drive, se ne ha una.

DriveGetLabel ( "path" )

Parametri path Path del drive dal quale ricevere informazioni.

Valore di ritorno Successo: Ritorna la Label di Volume del drive sotto forma di
stringa. Insuccesso: Imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetSerial,


DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus

Esempio $var = DriveGetLabel( "c:\" ) MsgBox(4096,"Volume Label: ",$var)

Riferimenti alle funzioni


DriveGetSerial
Ritorna il Serial Number di un drive.

DriveGetSerial ( "path" )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 80 di 314

Parametri path Path del drive dal quale ricevere informazioni.

Valore di ritorno Successo: Ritorna il Serial Number del drive sotto forma di
stringa. Insuccesso: Imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetType,


DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus

Esempio $var = DriveGetSerial( "c:\" ) MsgBox(4096, "Serial Number: ", $var)

Riferimenti alle funzioni


DriveGetType
Ritorna il tipo di drive.

DriveGetType ( "path" )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 81 di 314

path

Path del drive dal quale ricevere informazioni.

Valore di ritorno Ritorna il tipo di drive: "Unknown", "Removable", "Fixed",


"Network", "CDROM", "RAMDisk" Insuccesso: Ritorna 1 e imposta @error a 1.
Successo:

Osservazioni La lista dei possibili valori di ritorno potrebbe essere incompleta.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetLabel,


DriveGetSerial, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus

Esempio $var = DriveGetType( "c:\" ) MsgBox(4096, "Drive Type:", $var)

Riferimenti alle funzioni


DriveMapAdd
Mappa un network drive.

DriveMapAdd( "device", "condivisione remota" [, flags [, "utente" [, "password"]]]


)

Parametri Il device da mappare, ad esempio "O:" o "LPT1:". Se passi una stringa


vuota per questo parametro si ottiene una connessione non mappata a uno specifico
drive. Se specifichi "*" una lettera di drive non usata sarà selezionata
automaticamente.

device

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 82 di 314

condivisione La condivisione remota a cui connettersi nella forma


"\\server\share". remota [opzionale] Una combinazione dei seguenti: 0 = default 1
= Mapping persistente 8 = Visualizza la finestra di autenticazione se richiesta
[opzionale] Lo username da usare per connettersi. Nella forma "username" o
"domain\username". [opzionale] La password da usare per connettersi.

flags

utente password

Valore di ritorno Successo: Ritorna 1. (Vedi Osservazioni) Ritorna 0 se un nuovo


mapping non può essere creato e imposta @error (vedi sotto). Insuccesso: (Vedi
Osservazioni)

Osservazioni Quando la funzione fallisce (ritorna 0) @error contiene ulteriori


informazioni: 1 = Indefinito / Altro errore 2 = L'accesso alla condivisione remota
è stato negato 3 = Il device è già assegnato 4 = Nome di device non valido 5 =
Condivisione remota non valida 6 = Password non valida Nota: Quando usi "*" come
parametro di device sarà ritornata la lettera di drive selezionata invece di 1 o
0, ad es. "U:". Se si verifica un errore quando usi "*" una stringa vuota "" sarà
restituita.

Funzioni correlate DriveMapDel, DriveMapGet

Esempio ; Mappa il drive X a \\myserver\stuff usando l'utente corrente


DriveMapAdd("X:", "\\myserver\stuff") ; Mappa il drive X a \\myserver2\stuff2
usando l'utente "jon" da "domainx" con password "tickle" Drivemap("X:",
"\\myserver2\stuff2", 0, "domainx\jon", "tickle")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 83 di 314

Riferimenti alle funzioni


DriveMapDel
Disconnette un network drive.

DriveMapDel( "device" )

Parametri drive Il device da disconnettere, ad es. "O:" o "LPT1:".

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la disconnessione


non ha avuto successo.

Osservazioni Se una connessione non ha una lettera di drive mappata puoi usare il
nome di connessione per disconnetterti, ad es. \\server\share

Funzioni correlate DriveMapAdd, DriveMapGet

Esempio ; Mappa il drive X a \\myserver\stuff usando l'utente corrente


DriveMapAdd("X:", "\\myserver\stuff") ; Disconnessione DriveMapDel("X:")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 84 di 314

Riferimenti alle funzioni


DriveMapGet
Recupera i dettagli di un drive mappato.

DriveMapGet( "device" )

Parametri device La lettera di device (drive o stampante) da interrogare. Ad es.


"O:" o "LPT1:"

Valore di ritorno Successo: Ritorna i dettagli del mapping, ad es. \\server\share


Insuccesso: Ritorna una stringa vuota "" e imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate DriveMapAdd, DriveMapDel

Esempio ; Mappa il drive X a \\myserver\stuff usando l'utente corrente


DriveMapAdd("X:", "\\myserver\stuff") ; Ottiene i dettagli del mapping MsgBox(0,
"Drive X: è mappato a", DriveMapGet("X:"))

Riferimenti alle funzioni


file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm
18/05/2008
AutoIt

Pagina 85 di 314

DriveSetLabel
Imposta la Label di Volume di un drive.

DriveSetLabel ( "path", "label" )

Parametri path label Path del drive da cambiare. Nuova label di volume per il
drive. (di solito 11 caratteri è la lunghezza massima)

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni La maggior parte degli hard drives ha la lunghezza massima della


label di 11 caratteri, e DriveSetLabel fallirà se la lunghezza massima sarà
superata. Inoltre, label di partizioni FAT32 tendono a convertire il testo in
lettere maiuscole.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetLabel,


DriveGetSerial, DriveGetType, DriveSpaceFree, DriveSpaceTotal, DriveStatus

Esempio DriveSetLabel("C:\", "New_Label")

Riferimenti alle funzioni


DriveSpaceFree

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 86 di 314

Ritorna lo spazio libero su disco di un path in Megabytes.

DriveSpaceFree ( "path" )

Parametri path Path del drive dal quale ricevere informazioni.

Valore di ritorno Successo: Ritorna lo spazio libero su disco in Megabytes sotto


forma di numero float. Insuccesso: Ritorna 1 e imposta @error a 1.

Osservazioni DriveSpaceFree può funzionare anche quando viene fornito il path di


una directory (che esiste). Comunque, un path a un file non funzionerà. Usa la
funzione Round se il valore di ritorno è troppo preciso.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetLabel,


DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceTotal, DriveStatus

Esempio $var = DriveSpaceFree( "c:\" ) MsgBox(4096, "Spazio libero su C:", $var &
" MB")

Riferimenti alle funzioni


DriveSpaceTotal
Ritorna lo spazio su disco totale in Megabytes.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 87 di 314

DriveSpaceTotal ( "path" )

Parametri path Path del drive dal quale ricevere informazioni.

Valore di ritorno Successo: Ritorna lo spazio su disco in Megabytes sotto forma di


numero float. Insuccesso: Imposta @error a 1.

Osservazioni DriveSpaceTotal può funzionare anche quando viene fornito il path di


una directory (che esiste). Comunque, un path a un file non funzionerà.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetLabel,


DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveStatus

Esempio $var = DriveSpaceTotal( "c:\" ) MsgBox(4096, "Spazio totale su C:", $var &
" MB")

Riferimenti alle funzioni


DriveStatus
Ritorna lo stato del drive sotto forma di stringa.

DriveStatus ( "path" )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 88 di 314

Parametri path Path del drive dal quale ricevere informazioni.

Valore di ritorno Valore di ritorno UNKNOWN READY NOTREADY INVALID Interpretazione


Il drive può non essere formattato (RAW). Tipico di hard drives e drives che
contengono media rimuovibili. Tipico di floppy e CD drives che non contengono
media. Può indicare che la lettera del drive non esiste o che un network drive
mappato è inaccessibile.

Osservazioni La lista dei possibili valori di ritorno può essere incompleta.


DriveStatus può funzionare anche quando viene fornito il path di una directory
(che esiste). Comunque, un path a un file non funzionerà.

Funzioni correlate DriveGetDrive, DriveGetFileSystem, DriveGetLabel,


DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal

Esempio $var = DriveStatus( "c:\" ) MsgBox(4096,"Status",$var)

Riferimenti alle funzioni


FileChangeDir
Cambia la directory di lavoro corrente.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 89 di 314

FileChangeDir ( "path" )

Parametri path Il path da rendere directory di lavoro corrente.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la directory di


lavoro non è cambiata.

Osservazioni Nessuna.

Funzioni correlate @WorkingDir

Esempio FileChangeDir("C:\Windows")

Riferimenti alle funzioni


FileClose
Chiude un file di testo aperto in precedenza.

FileClose ( filehandle )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 90 di 314

filehandle

L'identificativo di un file, come ritornato da una precedente call a FileOpen.

Valore di ritorno Nessuno.

Osservazioni Se filehandle non è valido, un runtime error di AutoIt sarà avviato,


e lo script terminerà! Al termine, AutoIt chiude automaticamente ogni file che ha
aperto--ma chiamare FileClose è ancora una buona idea. Questa funzione è usata
anche per chiudere identificativi di ricerca ritornati da FileFindFirstFile().

Funzioni correlate FileFindFirstFile, FileOpen

Esempio $handle = FileOpen("test.txt", 0) FileClose($handle)

Riferimenti alle funzioni


FileCopy
Copia uno o più files.

FileCopy ( "origine", "dest" [, flag] )

Parametri origine Il origine path dei file(s) da copiare. Wildcards sono


supportati.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 91 di 314

dest flag

Il path di destinazione dei file(s) copiati. [opzionale] questo flag determina se


sovrascrivere files che già esistono: 0 = (default) non sovrascrivere files che
esistono 1 = sovrascrivere files che esistono

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni La directory deve essere esistente. Vedi FileFindFirstFile per una


discussione sui wildcards.

Funzioni correlate FileMove, FileDelete, DirCopy

Esempio FileCopy("C:\*.au3", "D:\mydir\*.*") ; metodo per copiare un folder (con


il suo contenuto) DirCreate("C:\new") FileCopy("C:\old\*.*", "C:\new\")

Riferimenti alle funzioni


FileCreateShortcut
Crea uno shortcut (.lnk) ad un file. FileCreateShortcut ( "file", "lnk" [,
"workdir", "args", "desc", "icon", "hotkey", numero di icona, stato] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 92 di 314

Parametri file lnk workdir args desc icon hotkey numero di icona stato Path
completo e nome file di un file per il quale creare lo shortcut. Path completo e
nome file dello shortcut. [opzionale] Directory di lavoro. [opzionale] "File
arguments" supplementari. [opzionale] Descrizione del File. [opzionale] Path/Nome
file completo dell'icona da usare. [opzionale] Hotkey - lo stesso del formato di
chiave Send(). [opzionale] L'istanza dell'icona da usare (di solito 0) [opzionale]
Lo stato dello shortcut che deve essere attivato. Usa sia @SW_SHOWNORMAL,
@SW_SHOWMINNOACTIVE che @SW_SHOWMAXIMIZED

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se lnk non può essere
creato.

Osservazioni Hotkeys per shortcut di finestre sono della forma seguente:


Ctrl+Alt+X, Ctrl+Shift+X, Shift+Alt+X, Ctrl+NumPadKey, o Alt+NumPadKey dove X
rapprenta una lettera, numero, punteggiatura, o funzione key. Se specifichi una
forma non valida, Windows tipicamente sceglie automaticamente Ctrl+Alt Nota che
Windows distingue numeri "pad keys" da numeri regolari e chiavi di punteggiatura.
FileCreateShortcut consente di creare shortcuts Ctrl+X e Alt+X (che Windows
normalmente permette solo quando X è un NumPadKey); comunque, dovresti evitare
queste assegnazioni che possono andare in conflitto con hotkeys di applicazioni
standard. Windows proibisce di usare come hotkeys ESC, ENTER, TAB, SPACEBAR, PRINT
SCREEN, SHIFT, o BACKSPACE. FileCreateShortcut non richiede un valido target,
workdir, icona, o hotkey al fine di creare "con successo" il file LNK; comunque,
la destinazione del file LNK deve essere valida! Se la hotkey che scegli è già in
uso, il tuo nuovo shortcut ha la precedenza. inoltre, se crei uno shortcut con lo
stesso path\nome di uno shortcut preesistente, viene sovrascritto con la tua nuova
versione.

Funzioni correlate FileGetShortcut

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 93 di 314

Esempio ; Imposta uno shortcut con hotkey ctrl+alt+d


FileCreateShortcut(@WindowsDir & "\Explorer.exe",@DesktopDir & "\Shortcut
Test.lnk",@WindowsDir,"/e,c:\", "Questo è un link ad Explorer;-)", @SystemDir &
"\shell32.dll", "^!t", "15", @SW_MINIMIZE)

Riferimenti alle funzioni


FileDelete
Cancella uno o più files.

FileDelete ( "path" )

Parametri Path Il path del file(s) da cancellare. I caratteri Wildcards sono


supportati.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se i files non sono


stati cancellati o non esistono.

Osservazioni Vedi FileFindFirstFile per una discussione sui caratteri wildcards.

Funzioni correlate FileCopy, FileMove, FileRecycle, DirRemove

Esempio FileDelete("D:\*.tmp")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 94 di 314

Riferimenti alle funzioni


FileExists
Verifica se un file o directory esiste.

FileExists ( "path" )

Parametri Path La directory o file da controllare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se il path/file non


esiste.

Osservazioni FileExists ritorna 0 se specifichi un floppy drive che non contiene


un dischetto.

Funzioni correlate FileGetAttrib, DriveStatus

Esempio If FileExists("D:\") Then MsgBox(4096,"", "D: esiste.") Else


MsgBox(4096,"", "D: non esiste.") EndIf

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 95 di 314

Riferimenti alle funzioni


FileFindFirstFile
Ritorna un filename in base alla search stringa .

FileFindFirstFile ( "filename" )

Parametri filename Stringa con il file da cercare. (* e ? wildcards sono


accettate)

Valore di ritorno Successo: Ritorna un "search handle" che può essere usato con
successive funzioni FileFindNextFile. Insuccesso: Ritorna -1 se si verifica un
errore.

Osservazioni La stringa da cercare non è "case sensitive". Wildcards: In generale,


* indica zero o più caratteri, e ? indica zero o un carattere. Se la tua stringa
di ricerca di files contiene solo wildcards (oppure è "*.*"), vedi l'esempio di
seguito per il valore di ritorno! Quando hai finito di cercare con le funzioni
FileFind... devi chiamare FileClose() per rilasciare l'identificativo della
ricerca.

Funzioni correlate FileClose, FileFindNextFile

Esempio ; Visualizza i filenames di tutti i files nella directory corrente, nota


che "." e ".." sono ritornati. $search = FileFindFirstFile("*.*") ; Controllo se
la ricerca ha avuto successo

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 96 di 314

If $search = -1 Then MsgBox(0, "Error", "Nessun files/directory corrisponde al


campione da cercare") Exit EndIf While 1 $file = FileFindNextFile($search) If
@error Then ExitLoop MsgBox(4096, "File:", $file) WEnd ; Chiude l'identificativo
della search FileClose($search)

Riferimenti alle funzioni


FileFindNextFile
Ritorna un filename in base a una precedente chiamata a FileFindFirstFile.

FileFindNextFile ( $search )

Parametri $search L'identificativo della ricerca, come ritornato da


FileFindFirstFile.

Valore di ritorno Successo: Ritorna un filename in base a a una precedente


chiamata a FileFindFirstFile. Insuccesso: Imposta @error a 1 se nessun
file/directory corrisponde alla ricerca.

Osservazioni Una precedente chiamata a FileFindFirstFile è necessaria per


impostare la ricerca e ottenere un identificativo di ricerca. Ogni successiva
chiamata a FileFindNextFile ritornerà il file successivo trovato in base alla
stringa di ricerca fornita a FileFindFirstFile. Quando @error = 1, nessun file
trovato corrisponde alla stringa di ricerca originale. Quando hai finito di
cercare con funzioni FileFind... devi chiamare FileClose() per rilasciare

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 97 di 314

l'identificativo di ricerca.

Funzioni correlate FileClose, FileFindFirstFile

Esempio ; Visualizza i filename di tutti i files nella directory corrente $search


= FileFindFirstFile("*.*") ; Controlla se la ricerca ha avuto successo If $search
= -1 Then MsgBox(0, "Error", "Nessun file/directory corrisponde al campione da
ricercare") Exit EndIf While 1 $file = FileFindNextFile($search) If @error Then
ExitLoop MsgBox(4096, "File:", $file) WEnd ; Chiude l'identificativo di ricerca
FileClose($search)

Riferimenti alle funzioni


FileGetAttrib
Ritorna una stringa che rappresenta gli attributi di un file.

FileGetAttrib ( "filename" )

Parametri filename Filename (o directory) da controllare.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 98 di 314

Valore di ritorno Successo: Ritorna una stringa che rappresenta gli attributi di
un file. Insuccesso: Ritorna una stringa vuota e imposta @error a 1.

Osservazioni La stringa ritornata potrebbe contenere una combinazione di queste


lettere: "RASHNDOCT": "R" = READONLY "A" = ARCHIVE "S" = SYSTEM "H" = HIDDEN "N" =
NORMAL "D" = DIRECTORY "O" = OFFLINE "C" = COMPRESSED (compressione NTFS, e non
compressione ZIP) "T" = TEMPORARY

Funzioni correlate FileGetTime, FileSetAttrib

Esempio $attrib = FileGetAttrib(@HomeDrive & "\boot.ini") If @error Then


MsgBox(4096,"Error", "non è stato possibile ottenere gli attributi.") Exit Else If
StringInStr($attrib, "R") Then MsgBox(4096,"", "Il file è read-only.") EndIf EndIf
; Visualizza informazione complete relative agli attributi in formato testo ; Gli
arrays dipendono dal fatto che ogni lettera maiuscola è unica ; Immaginare come
questa funzione lavora è un buon eserizio sulle stringhe... $input =
StringSplit("R,A,S,H,N,D,O,C,T",",") $output = StringSplit("Read-only /, Archive
/, System /, Hidden /, _ Normal /, Directory /, Offline /, Compressed /, Temporary
/", ",") For $i = 1 to 9 $attrib = StringReplace($attrib, $input[$i], $output[$i],
0, 1) ; l'ultimo parametro StringReplace significa "case-sensitivity" Next $attrib
= StringTrimRight($attrib, 2) ;rimuove slash finali MsgBox(0,"Attributi di file
completi:", $attrib)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 99 di 314

Riferimenti alle funzioni


FileGetLongName
Ritorna il path+nome lungo del path+nome passato.

FileGetLongName ( "file" )

Parametri file path completo e nome file da convertire

Valore di ritorno Successo: Ritorna il path+nome lungo del path+nome passato.


Insuccesso: Ritorna il parametro e imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate FileGetShortName

Esempio $a = FileGetLongName("C:\PROGRA~1\") ;$a è probabilmente "C:\Program


Files"

Riferimenti alle funzioni


FileGetShortcut

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 100 di 314

Recupera i dettagli di uno shortcut.

FileGetShortcut ( "lnk" )

Parametri lnk Path completo e nome file di uno shortcut.

Valore di ritorno Successo: Ritorna un array che contiene le informazioni di uno


shortcut. Vedi Osservazioni. Insuccesso: Imposta @error a 1 se lo shortcut non può
essere acceduto.

Osservazioni L'array ritornato da questa funzione è un array a dimensione singola


contenente i seguenti elementi: $array[0] = Shortcut target path $array[1] =
Directory di lavoro $array[2] = Argomenti $array[3] = Descrizione $array[4] = Icon
filename $array[5] = Icon index $array[6] = Lo stato dello shortcut
(@SW_SHOWNORMAL, @SW_SHOWMINNOACTIVE, @SW_SHOWMAXIMIZED)

Funzioni correlate FileCreateShortcut

Esempio ; Imposta uno shortcut con ctrl+alt+t hotkey


FileCreateShortcut(@WindowsDir & "\Explorer.exe",@DesktopDir & "\Shortcut
Test.lnk",@WindowsDir,"/e,c:\", "Questo è un link a Explorer;-)", @SystemDir &
"\shell32.dll", "^! t", "15", @SW_MINIMIZE) ; Legge nel path di uno shortcut
$details = FileGetShortcut(@DesktopDir & "\Shortcut Test.lnk")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 101 di 314

MsgBox(0, "Path:", $details[0])

Riferimenti alle funzioni


FileGetShortName
Ritorna il path+nome 8.3 breve del path+nome passato.

FileGetShortName ( "file" )

Parametri file path completo e nome file da convertire

Valore di ritorno Successoo: Ritorna il path+nome 8.3 breve del path+nome passato.
Insuccesso: Ritorna il parametro e imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate FileGetLongName

Esempio $a = FileGetShortName("C:\Program Files") ;$a è probabilmente


"C:\PROGRA~1"

Riferimenti alle funzioni


file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm
18/05/2008
AutoIt

Pagina 102 di 314

FileGetSize
Ritorna la dimensione in bytes di un file.

FileGetSize ( "filename" )

Parametri filename Filename da controllare.

Valore di ritorno Nessuna.

Osservazioni Non funziona con directory. Dividi il risultato per 1024 per ottenere
i kilobyte equivalenti, o dividi per 1048576 per ottenere i megabyte equivalenti.

Funzioni correlate FileGetAttrib, FileGetTime, DriveSpaceTotal

Esempio $size = FileGetSize("AutoIt.exe")

Riferimenti alle funzioni


FileGetTime
Ritorna le informazioni su ora e data di un file.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 103 di 314

FileGetTime ( "filename" [,opzione] )

Parametri filename opzione Filename da controllare. [opzionale] Flag per indicare


il tipo di timestamp 0 = Modified (default) 1 = Created 2 = Accessed

Valore di ritorno Successo: Ritorna un array che contiene informazioni su data e


ora di un file. Vedi Osservazioni. Insuccesso: Ritorna 1 e imposta @error a 1.

Osservazioni L'array è un array a singola dimensione contenente sei elementi:


$array[0] = year (four digits) $array[1] = month (range 01 - 12) $array[2] = day
(range 01 - 31) $array[3] = hour (range 00 - 23) $array[4] = min (range 00 - 59)
$array[5] = sec (range 00 - 59) Nota che i valori di ritorno sono "zero-padded".

Funzioni correlate FileGetSize, FileGetAttrib, FileGetVersion, FileSetTime

Esempio $t = FileGetTime("C:\Windows\Notepad.exe", 1) If Not @error Then $yyyymd =


$t[0] & "/" & $t[1] & "/" & $t[2] MsgBox(0, "Data di creazione di notepad.exe",
$yyyymd) EndIf

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 104 di 314

Riferimenti alle funzioni


FileGetVersion
Ritorna informazioni sulla versione di un "File".

FileGetVersion ( "filename" )

Parametri filename Filename da controllare.

Valore di ritorno Successo: Ritorna una stringa contenente informazioni sulla


versione, ad es. "3.0.81.0". Ritorna "0.0.0.0" se nessuna informazione sulla
versione è stata trovata (o si sono Insuccesso: verificati altri errori), e
imposta @error a 1.

Osservazioni Nessuna.

Funzioni correlate FileGetSize, FileGetTime

Esempio $ver = FileGetVersion("Explorer.exe") MsgBox(0, "Versione di Explorer",


$ver)

Riferimenti alle funzioni


FileInstall

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 105 di 314

Include e install a file with the compiled script.

FileInstall ( "origine", "dest" [,flag] )

Parametri origine dest flag Il path sorgente del file da compilare. Deve essere
una stringa di lettere; non può essere una variabile. Il path di destinazione con
un backslash finale. Questo può essere una variabile. [opzionale] questo flag
determina se sovrascrivere files che già esistono: 0 = (default) non sovrascrivere
files che già esistono 1 = sovrascrivi files esistenti

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni La funzione FileInstall è disegnata per includere files in uno script


AutoIt compilato. Questi files inclusi possono quindi essere "estratti" durante
l'esecuzione dello script compilato. Tieni presente che files come le immagini
possono aumentare fortemente la dimensione di uno script compilato. Il file
sorgente deve essere una stringa e non una variabile in modo che il compilatore
può estrarre il filename da includere. Il sorgente non può contenere wildcards.
Quando questa funzione è usata da uno script non compilato, viene eseguita una
operazione di copia (per consentire una facile pre-compilazione di test). I files
mantengono i loro timestamps originali di creazione/modifica quando vengono
installati.

Funzioni correlate #Include

Esempio FileInstall("C:\test.au3", "D:\mydir\test.au3")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 106 di 314

Riferimenti alle funzioni


FileMove
Muove uno o più files

FileMove ( "origine", "dest" [, flag] )

Parametri origine dest flag Il path sorgente e il filename del file da muovere. (*
wildcards sono supportati) Il path di destinazione e il filename del file
spostato. (* wildcards sono supportati) [opzionale] questo flag determina se
sovrascrivere files che già esistono: 0 = (default) non sovrascrivere files che
già esistono 1 = sovrascrivi files esistenti

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se origine non può


essere spostato e se dest esiste già e flag=0.

Osservazioni If i path sorgente e destinazione sono su volumi differenti


un'operazione di copy e delete è eseguita al posto della move.

Funzioni correlate FileCopy, FileDelete, FileRecycle, DirMove

Esempio FileMove("C:\foo.au3", "D:\mydir\bak.au3")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 107 di 314

Riferimenti alle funzioni


FileOpen
Apre un file di testo il lettura o scrittura.

FileOpen ( "filename", mode )

Parametri filename Filename del file di testo da aprire. Modalità (read o write)
con cui aprire il file. 0 = Read mode 1 = Write mode (accoda alla fine del file) 2
= Write mode (cancella contenuti precedenti) Entrambe le modalità write creeranno
il file se non esiste già.

mode

Valore di ritorno Successo: Ritorna un "puntatore" al file da usare con funzioni


file successive. Insuccesso: Ritorna -1 se si verifica un errore.

Osservazioni Fino a 64 files possono essere aperti simultaneamente da un script


AutoIt. Superare questo limite causa un errore di run-time Un file può essere
aperto in lettura o in scrittura; non può aperto contemporaneamente in entrambe le
modalità. Quando si apre un file in scrittura, il file sarà creato se non esiste
già. Quando hai finito di lavorare con un file, chiama la funzione FileClose per
chiudere il file. Autoit normalmente chiude tutti i files al termine, ma chiamare
esplicitamente FileClose è comunque una buona idea.

Funzioni correlate FileClose, FileReadLine, FileWriteLine

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 108 di 314

$file = FileOpen("test.txt", 0) ; Controlla se il file aperto in lettura è OK If


$file = -1 Then MsgBox(0, "Error", "impossibile aprire il file.") Exit EndIf
FileClose($file)

Riferimenti alle funzioni


FileOpenDialog
Avvia una finestra di Dialogo Open File.

FileOpenDialog ( "titolo", "dir iniziale", "filtro" [, opzioni [, "nome di


default"]] )

Parametri titolo dir iniziale filtro Il testo del titolo della Dialog GUI.
Directory iniziale selezionata nel file tree della GUI . Filtro sul tipo di file
come ad esempio "All (*.*)" o "Files di testo (*.txt)" [opzionale] Opzioni di
Dialogo: Per usare più di un'opzione, aggiungi i valori richiesti insieme. 1 = Il
File deve esistere (se l'utente fornisce un filename) 2 = Il Path deve esistere
(se l'utente fornisce un path) 4 = Permette MultiSelect 8 = Prompt per creare un
nuovo File (se non esiste) 16 = Prompt per sovrascrivere File (vedi
FileSaveDialog) Nome file da aprire proposto all'utente.

opzioni

nome di default

Valore di ritorno Ritorna il path completo del file(s) scelto. Risultati per
selezioni multiple sono "Directory|file1|file2|..." Insuccesso: Imposta @error a
1. Successo:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 109 di 314

Osservazioni Separa i filtri sui files con un punto e virgola come mostrato
nell'esempio. Nota: A questo livello, gruppi multipli di filtri non sono
supportati. Se il nome di default è fornito, devono essere fornite anche le
opzioni. Se non si vuole alcuna opzione, usa 0 come opzioni . Speciali cartelle di
Windows (come "My Documents") talvolta possono essere impostati come dir iniziali;
vedi l'Appendice.

Funzioni correlate FileSaveDialog, FileSelectFolder, StringSplit

Esempio $message = "Tieni premuto Ctrl o Shift per scegliere files multipli." $var
= FileOpenDialog($message, "C:\Windows\", "Images (*.jpg;*.bmp)", 1 + 4 ) If
@error Then MsgBox(4096,"","Nessun File(s) scelto") Else $var =
StringReplace($var, "|", @CRLF) MsgBox(4096,"","Hai scelto " & $var) EndIf

Riferimenti alle funzioni


FileRead
Legge un numero di caratteri da un file di testo aperto in precedenza.

FileRead ( filehandle o "filename", contatore )

Parametri filehandle Il puntatore di un file, come ritornato da una precedente


chiamata a FileOpen. In alternativa puoi usare una stringa filename come primo
parametro.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 110 di 314

contatore

Il numero di caratteri da leggere.

Valore di ritorno Successo: Ritorna i caratteri letti. Speciale: Imposta @error a


-1 se viene raggiunto end-of-file. Insuccesso: Imposta @error a 1 se il file non è
aperto in lettura o si verificano altri errori.

Osservazioni Se un filename è fornito piuttosto di un puntatore al file - il file


sarà aperto e chiuso durante la chiamata alla funzione - per il parsing di files
di testo grandi questa tecnica sarà molto più lenta che usare filehandles. Nota:
Non mischiare filehandles e filenames, ad es., non aprire un file con FileOpen e
quindi usare un filename in questa funzione. Usa sia filehandles o filenames nelle
tue routines--non entrambe!

Funzioni correlate IniRead, FileClose, FileOpen, FileReadLine, FileWrite,


FileWriteLine

Esempio $file = FileOpen("test.txt", 0) ; Controlla se ilfile aperto in lettura è


OK If $file = -1 Then MsgBox(0, "Error", "Impossibile aprire il file.") Exit EndIf
; Legge 1 carattere alla volta fino a che viene raggiunto EOF While 1 $chars =
FileRead($file, 1) If @error = -1 Then ExitLoop MsgBox(0, "Char read:", $chars)
Wend FileClose($file)

Riferimenti alle funzioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 111 di 314

FileReadLine
Legge una linea di testo da un file di testo aperto in precedenza.

FileReadLine ( filehandle or "filename" [, linea] )

Parametri filehandle line Il puntatore di un file, come ritornato da una


precedente chiamata aFileOpen. In alternativa puoi usare una stringa filename come
primo parametro. [opzionale] Il numero di linee da leggere. La prima linea di un
file di testo è linea 1 (non zero).

Valore di ritorno Successo: Ritorna una linea di testo. Special: Imposta @error a
-1 se viene raggiunto end-of-file. Insuccesso: Imposta @error a 1 se il file non è
stato aperto in lettura o si sono verificati altri errori.

Osservazioni Ritorna il testo della linea letta, tutti i caratteri newline


( CHR(10) o @LF ) alla fine della linea letta sono automaticamente scartati. If
nessun numero di linea da leggere è fornito, sarà letta la linea "successiva".
("Successiva" per un file appena aperto è inizialmente la prima linea.) Se un
filename è fornito piuttosto di un puntatore al file - il file sarà aperto e
chiuso durante la chiamata alla funzione - per il parsing di files di testo grandi
questa tecnica sarà molto più lenta che usare puntatori ai files. Nota: Non
mischiare filehandles e filenames, ad es., non aprire un file con FileOpen e
quindi usare un filename in questa funzione. Usa sia filehandles o filenames nelle
tue routines--non entrambe!

Funzioni correlate IniRead, FileClose, FileOpen, FileRead, FileWrite,


FileWriteLine

Esempio $file = FileOpen("test.txt", 0)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 112 di 314

; Controlla se ilfile aperto in lettura è OK If $file = -1 Then MsgBox(0, "Error",


"Impossibile aprire il file.") Exit EndIf ; Legge linee di testo finchè viene
raggiunto EOF While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop
MsgBox(0, "Linea letta:", $line) Wend FileClose($file)

Riferimenti alle funzioni


FileRecycle
Invia un file o directory al Cestino

FileRecycle ( "origine" )

Parametri origine Il path origine del file(s) o directory da cancellare. Le


Wildcards sono supportate.

Valore di ritorno Successoo: Ritorna 1. Insuccesso: Ritorna 0 (tipicamente


significa che il file è in uso o non esiste).

Osservazioni Vedi FileFindFirstFile per una discussione sulle wildcards. Per


rimuovere una directory, semplicemente fornisci il path senza un backslash finale.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 113 di 314

Funzioni correlate FileDelete, FileRecycleEmpty

Esempio FileRecycle("C:\*.tmp")

Riferimenti alle funzioni


FileRecycleEmpty
Svuota il Cestino.

FileRecycleEmpty ( ["drive"] )

Parametri source [Opzionale] La lettera del drive da svuotare - se omessa il


cestino è svuotato per tutti i drive.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 (il cestino non puà
essere svuotato - vedi sotto).

Osservazioni Affinchè questa funzione sia corretta deve essere disponibile IE4+.

Funzioni correlate FileDelete, FileRecycle

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 114 di 314

Esempio FileRecycleEmpty("C:\")

Riferimenti alle funzioni


FileSaveDialog
Avvia una finestra di Dialogo Save File.

FileSaveDialog ( "titolo", "dir iniziale", "filtro" [, opzioni [, "nome di


default"]] )

Parametri titolo dir iniziale filtro Testo del titolo della Dialog GUI. Directory
iniziale selezionata nella GUI file tree. Filtro sul tipo di file come "All (*.*)"
o "Files di testo (*.txt)" 1 = File deve esistere (se l'utente imposta un
filename) 2 = Path deve esistere (se l'utente imposta un path) 4 = Consente
MultiSelect 8 = Prompt per creare un nuovo File (se non esiste) 16 = Prompt per
sovrascrivere un File Nome file da proporre all'utente come file da salvare.

opzioni

nome di default

Valore di ritorno Successo: Ritorna il path completo del file scelto. I risultati
per selezioni multiple sono "Directory|file1|file2|..." Insuccesso: Imposta @error
a 1.

Osservazioni Separate i filtri di files con un punto e virgola come mostrato


nell'esempio. Nota: In questo momento, gruppi multipli di filtri non sono
supportati. Se viene fornito il nome di default, devono essere fornite anche le
opzioni. Se vuoi alcuna opzione, usa 0.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 115 di 314

Speciali cartelle di Windows (come "My Documents") talvolta possono essere


impostati come directory iniziale; vedi Appendice.

Funzioni correlate FileOpenDialog, FileSelectFolder

Esempio $MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}" $var =


FileSaveDialog( "Scegli un nome.", $MyDocsFolder, "Scripts (*.aut;*.au3)", 3) ;
opzione 3 = la finestra di dialogo rimane attiva finchè viene selezionato un
valido path/file If @error Then MsgBox(4096,"","Save cancellata.") Else
MsgBox(4096,"","Hai scelto " & $var) EndIf

Riferimenti alle funzioni


FileSelectFolder
Avvia una GUI Browse For Folder.

FileSelectFolder ( "testo di dialogo", "root dir", [, flag] )

Parametri dialog root flag Testo di presentazione nel dialogo. Root directory
della GUI file tree. Usa "" per rendere root il Desktop. [optional] 1 = Visualizza
il pulsante Create Folder (richiede IE6.0 o successive) 2 = Usa New Dialog Style
(richiede IE5.0 o successive) 4 = Visualizza Edit Control (per digitare un nome di
cartella)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 116 di 314

Valore di ritorno Successo: Ritorna il path completo della cartella scelta.


Insuccesso: Ritorna una stringa vuota e imposta @error a 1 se l'utente
cancella/chiude la finestra.

Osservazioni Una root dir non esistente causerà anche che la cartella Desktop
diventerà root. L'opzione "Create Folder Button" può richiedere Windows XP con IE6
per funzionare. Speciali cartelle di Windows (come "My Documents") possono essere
impostate come root usando il giusto CLSID dettagliato in Appendice.

Funzioni correlate FileSaveDialog, FileOpenDialog

Esempio $var = FileSelectFolder("Scegli un file.", "")

Riferimenti alle funzioni


FileSetAttrib
Imposta gli attributi di uno o più files.

FileSetAttrib ( "modello di file", "+-RASHNOT" [, ricorsività] )

Parametri modello di file +RASHNOT ricorsività File(s) da cambiare, ad es.


C:\*.au3, C:\Dir Attribito(s) da impostare/cancellare. ad es. "+A", "+RA-SH"
[opzionale] Se è impostata a 1, le directories saranno trattate ricorsivamente. Il
Default è 0 (nessuna ricorsività).

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 117 di 314

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si sono verificati


errori.

Osservazioni Il modello di file non può contenere spaces! Gli attributi che
possono essere modificati con la funzione sono + o -: "R" = READONLY "A" = ARCHIVE
"S" = SYSTEM "H" = HIDDEN "N" = NORMAL "O" = OFFLINE "T" = TEMPORARY (Nota che non
puoi impostare attributi di directory compresse con questa funzione.)

Funzioni correlate FileGetAttrib, FileGetTime, FileSetTime

Esempio ;segna all .au3 files nella directory corrente come read-only e system
FileSetAttrib("*.au3", "+RS") If @error Then MsgBox(4096,"Error", "Problema
nell'impostazione degli attributi." ;rende tutti i files .bmp in C:\ e sub-
directories writable e archived FileSetAttrib("C:\*.bmp", "-R+A", 1) If @error
Then MsgBox(4096,"Error", "Problema nell'impostazione degli attributi."

Riferimenti alle funzioni


FileSetTime
Imposta il timestamp di uno o più files.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 118 di 314

FileSetTime ( "modello di file", "data e ora", tipo [, ricorsività] )

Parametri modello di file data e ora tipo ricorsività File(s) da cambiare, ad es.
C:\*.au3, C:\Dir La nuova data e ora da impostare nel formato "YYYYMMDDHHMMSS"
(Anno, mese, giorno, ore (nel formato 24hr), secondi). Se data e ora non vengono
impostati ("") vengono usati data e ora correnti. Il timestamp da cambiare: 0 =
Modified, 1 = Created, 2 = Accessed [opzionale] Se è impostata a 1, le directories
saranno trattate ricorsivamente. Il Default è 0 (nessuna ricorsività).

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verificano


errori cambiando il timestamp(s).

Osservazioni Sotto Windows 9x non puoi cambiare il timestamp di una directory;


tentativi in questo senso vengono ignorati.

Funzioni correlate FileGetTime, FileGetAttrib, FileSetAttrib

Esempio ;change il timestamp di file.au3 al 1o Nov 2003 e 00:00 $var =


FileSetTime("file.au3", "20031101")

Riferimenti alle funzioni


FileWrite

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 119 di 314

Accoda una linea di tsto alla fine di un file di testo aperto in precedenza.

FileWrite ( filehandle o "filename", "linea" )

Parametri filehandle linea Il puntatore di un file, come ritornato da una


precedente chiamata a FileOpen. In alternativa, puoi usare una stringa con il
filename come primo parametro. La linea di testo da scrivere nel file di testo. La
linea è scritta com'è - nessun carattere @CR o @LF viene aggiunto.

Valore di ritorno Successo: Ritorna 1. Ritorna 0 se il file non è aperto in


scrittura, il file è read only, o il file non può essere Insuccesso: scritto per
altri motivi.

Osservazioni Il file di testo deve essere aperto in scrittura o il comando


FileWrite fallirà. Se un filename è fornito piuttosto che un puntatore al file, il
file sarà aperto e chiuso durante la chiamata alla funzione. Per il parsing di
grandi files di testo questa tecnica sarà molto più lenta che usare filehandles.
Comunque, il filename sarà creato se non esiste già. Nota: Non mischiare
filehandles e filenames, ad es., non usare FileOpen per aprire un file e poi il
filename in questa funzione. Usa o filehandles o filenames nelle tue routines--non
entrambi.

Funzioni correlate FileClose, FileOpen, FileRead, FileReadLine, FileWriteLine

Esempio $file = FileOpen("test.txt", 1) ; Controlla se il file aperto in scrittura


è OK If $file = -1 Then MsgBox(0, "Error", "Impossibile aprire il file.") Exit

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 120 di 314

EndIf FileWrite($file, "Line1") FileWrite($file, "Still Line1" & @CRLF)


FileWrite($file, "Line2") FileClose($file)

Riferimenti alle funzioni


FileWriteLine
Accoda una linea di tsto alla fine di un file di testo aperto in precedenza.

FileWriteLine ( filehandle o "filename", "linea" )

Parametri filehandle linea Il puntatore di un file, come ritornato da una


precedente chiamata a FileOpen. In alternativa, puoi usare una stringa con il
filename come primo parametro. La linea di testo da scrivere nel file di testo. Se
la linea NON termina con @CR o @LF un DOS linefeed (@CRLF) sarà aggiunto
automaticamente.

Valore di ritorno Successo: Ritorna 1. Ritorna 0 se il file non è aperto in


scrittura, è read only, o non può essere scritto per altri Insuccesso: motivi.

Osservazioni Il file di testo deve essere aperto in scrittura o il comando


FileWriteLine fallirà. Se un filename è fornito piuttosto che un puntatore al
file, il file sarà aperto e chiuso durante la funzione call. Per il parsing di
grandi files di testo questa tecnica sarà molto più lenta che usare filehandles.
Comunque, il filename sarà creato se non esiste già. Nota: Non mischiare
filehandles e filenames, ad es., non usare FileOpen per aprire un file e poi il
filename in questa funzione. Usa o filehandles o filenames nelle tue routines--non
entrambi.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 121 di 314

Funzioni correlate FileClose, FileOpen, FileRead, FileReadLine, FileWrite

Esempio $file = FileOpen("test.txt", 1) ; Controlla se il file aperto in scrittura


è OK If $file = -1 Then MsgBox(0, "Error", "Impossibile aprire il file.") Exit
EndIf FileWriteLine($file, "Line1") FileWriteLine($file, "Line2" & @CRLF)
FileWriteLine($file, "Line3") FileClose($file)

Riferimenti alle funzioni


IniDelete
Cancella un valore da un file .ini standard.

IniDelete ( "filename", "sezione", "chiave" )

Parametri filename sezione chiave Il filename del file .ini. Il nome della sezione
nel file .ini. Il nome della chiave nel file .ini.

Valore di ritorno Successo: Ritorna 1.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 122 di 314

Insuccesso: Ritorna 0 se la sezione/chiave non è stata trovata o se il file INI è


read-only.

Osservazioni Un file standard ini è simile al seguente: [SectionName] Key=Value Se


il filename non è stato trovato, viene creato un file a 0 byte.

Funzioni correlate IniRead, IniWrite

Esempio IniDelete("C:\Temp\myfile.ini", "section2", "key")

Riferimenti alle funzioni


IniRead
Legge un valore da un file in formato standard .ini.

IniRead ( "filename", "sezione", "chiave", "default" )

Parametri filename sezione chiave default Il filename del file .ini. Il nome della
sezione nel file .ini. Il nome della chiave nel file .ini. Il valore di default da
ritornare se la chiave richiesta non è stata trovata.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 123 di 314

Successo: Ritorna il valore della chiave richiesta. Insuccesso: Ritorna la stringa


di default se la chiave richiesta non è stata trovata.

Osservazioni Un file standard ini è simile al seguente: [SectionName] Key=Value

Funzioni correlate IniDelete, IniWrite, FileReadLine

Esempio $var = IniRead("C:\Temp\myfile.ini", "section2", "key", "NotFound")


MsgBox(4096, "Result", $var)

Riferimenti alle funzioni


IniWrite
Scrive un valore in un file in formato standard .ini.

IniWrite ( "filename", "sezione", "chiave", "valore" )

Parametri filename sezione chiave valore Il filename del file .ini. Il nome della
sezione nel file .ini. Il nome della chiave nel file .ini. Il valore da
scrivere/modificare.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 124 di 314

Successo: Ritorna 1. Insuccesso: Ritorna 0 se il file è read-only.

Osservazioni Un file standard ini è simile al seguente: [SectionName] Key=Value Se


il file non esiste, viene creato. Chiavi e/o sezioni sono aggiunte alla fine e non
sono ordinate in alcun modo.

Funzioni correlate IniDelete, IniRead, FileWriteLine

Esempio IniWrite("C:\Temp\myfile.ini", "section2", "key", "questo è un nuovo


valore")

Riferimenti alle funzioni


HotKeySet
Imposta un hotkey che chiama una funzione utente.

HotKeySet ( "key" [, "funzione"] )

Parametri key funzione La key(s) da usare come hotkey. Lo stesso formato di


Send(). [opzionale] Il nome della funzione da chiamare quando la key è premuta.
Lascia blank per ripristinare una precedente hotkey.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 125 di 314

Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Possono essere registrate fino a 64 hotkeys simultanee per script. Se


due scripts AutoIt impostano la stessa HotKeys, dovresti evitare di eseguire
questi scripts simultanenamente. (Il secondo script non può catturare le hotkey a
meno che il primo script termini o cancelli la registrazione della key prima che
il secondo script imposti la hotkey.) Una battitura di hotkeys *tipicamente*
interrompe la funzione/istruzione attiva di AutoIt ed esegue la sua funzione
utente finchè termina o è interrotta. Le eccezioni sono le seguenti: 1) Se la
funzione corrente è una funzione "bloccante", le hotkeys premute vengono
bufferizzate ed eseguite appena la funzione bloccante viene completata. MsgBox e
FileSelectFolder sono esempi di funzioni bloccanti. Prova le caratteristiche di
Shift-Alt-d nell'Esempio. 2) Se hai messo in pausa lo script cliccando sulla Tray
icon di AutoIt, ogni hotkey premuta durante questo stato di pausa viene ignorato.
Le seguenti hotkeys non possono essere impostate: Keys singole di a-z o A-Z.
Ctrl+Alt+Delete F12 Enter Key del NumPad Win+B,D,E,F,L,M,R,U; e Win+Shift+M Alt,
Ctrl, Shift, Win Altro Almeno un modificatore Alt, Ctrl, o Win è richiesto con
queste keys. E' riservato da Windows E' anche riservato da Windows, in base alle
sue API. Al contrario, usa {Enter} che cattura entrambi gli Enter keys sulla
tastiera. Questi sono built-in Windows shortcuts. Nota: Win+B e Win+L potrebbero
essere riservati solo su Windows XP e successivi. Queste sono le keys modificatori
di sè stessi! Ad ogni hotkey globale che un utente ha definito usando software di
terze parti, ogni combinazione di due o più "base keys" come '{F1} {F2}', e ogni
key nella forma '{LALT}' o '{ALTDOWN}'.

Quando imposti un hotkey, AutoIt cattura le keypress e non le passa


all'applicazione attiva--con un'eccezione: Le Lock keys (NumLock, CapsLock, e
ScrollLock) cambieranno ancora il loro rispettivo stato! Se vuoi inviare l'hotkey
catturata all'applicazione attiva devi deregistrare l'hotkey prima di invocare
Send oppure devi usare ControlSend: ; cattura e passa una keypress
HotKeySet("{Esc}", "captureEsc") Func captureEsc() ; ... puoi eseguire operazioni
qui HotKeySet("{Esc}") Send("{Esc}") HotKeySet("{Esc}", "captureEsc") EndFunc

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 126 di 314

Funzioni correlate Send, ControlSend

Esempio ; Premi Esc per terminare lo script, Pause/Break per "mettere in pausa"
Global $Paused HotKeySet("{PAUSE}", "TogglePause") HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage") ;Shift-Alt-d ;;;; Il corpo del programma dovrebbe
seguire qui ;;;; While 1 Sleep(100) WEnd ;;;;;;;; Func TogglePause() $Paused = NOT
$Paused While $Paused sleep(100) ToolTip('Lo Script è "messo in pausa"',0,0) WEnd
ToolTip("") EndFunc Func Terminate() Exit 0 EndFunc Func ShowMessage()
MsgBox(4096,"","Questo è un messaggio.") EndFunc Func Terminate() Exit 0 EndFunc
Func ShowMessage() MsgBox(4096,"","Questo è un messaggio.") EndFunc

Riferimenti alle funzioni


Send

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 127 di 314

Invia battute di tasto simulate alla finestra attiva.

Send ( "keys" [, flag] )

Parametri chiavi flag La sequenza di chiavi inviate. [opzionale] Cambia la


modalità con cui le chiavi vengono processate: flag = 0 (default), Il testo
contiene caratteri speciali come + e ! per indicare la pressione delle chiavi
SHIFT e ALT. flag = 1, le chiavi sono inviate in modalità raw.

Valore di ritorno Nessuna.

Osservazioni Vedi l'Appendice per alcuni suggerimenti. La sintassi del comando


"Send" è simile a quella di ScriptIt e a quella del comando Visual Basic
"SendKeys". I caratteri vengono inviati come sono scritti ad eccezione dei
seguenti: '!' Questo comando dice ad AutoIt di inviare una battuta di tasto ALT,
quindi Send("Questo è un testo! a") invierebbe le chiavi "Questo è testo" e quindi
preme "ALT+a". N.B. Alcuni programmi sono molto esigenti circa caratteri maiuscoli
e chiavi ALT, ad es. "!A" iè differente da "!a". La prima è ALT+SHIFT+A, la
seconda è ALT+a. Se in dubbio, usa caratteri minuscoli! '+' Questo comando dice ad
AutoIt di inviare una battuta di tasto SHIFT, quindi Send("Hell+o") invierebbe il
testo "HellO". Send("!+a") invierebbe "ALT+SHIFT+a". '^' Questo comando dice ad
AutoIt di inviare una battuta di tasto CONTROL,quindi Send("^!a") invierebbe
"CTRL+ALT+a". N.B. Alcuni programmi sono molto esigenti circa caratteri maiuscoli
e chiavi CTRL, ad es. "^A" è differente da "^a". La prima indica CTRL+SHIFT+A, la
seconda indica CTRL+a. Se sei in dubbio, usa caratteri minuscoli! '#' L'hash invia
una battuta di tasti Windows; quindi, Send("#r") invierebbe Win+r, che lancia la
dialog

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 128 di 314

box Run. Puoi impostare SendCapslockMode per disabilitare CAPS LOCK all'inizio di
un'operazione di Send e ripristinare il tasto alla fine. Comunque, se un utente
tiene premuta la chiave Shift quando comincia una funzione Send, il testo può
essere inviato in caratteri maiuscoli. Una soluzione al problema è
Send("{SHIFTDOWN}{SHIFTUP}") prima di altre operazioni di Send. Certe chiavi
speciali possono essere inviate ma dovrebbero essere chiuse in parentesi graffe:
N.B. Windows non consente la simulazione della combinazione "CTRL-ALT-DEL"! Send
Command (Se flag è Pressione di tasti ottenuta zero) {!} ! {#} # {+} + {^} ^ {{} {
{}} } {SPACE} SPACE {ENTER} ENTER key sulla tastiera principale {ALT} ALT
{BACKSPACE} o {BS} BACKSPACE {DELETE} o {DEL} DELETE {UP} Cursor up {DOWN} Cursor
down {LEFT} Cursor left {RIGHT} Cursor right {HOME} HOME {END} END {ESCAPE} o
{ESC} ESCAPE {INSERT} o {INS} INS {PGUP} PageUp {PGDN} PageDown {F1} - {F12}
Funzione keys {TAB} TAB {PRINTSCREEN} Print Screen key {LWIN} Left Windows key
{RWIN} Right Windows key {NUMLOCK on} NUMLOCK (on/off/toggle) {CAPSLOCK off}
CAPSLOCK (on/off/toggle) {SCROLLLOCK toggle} SCROLLLOCK (on/off/toggle)
{CTRLBREAK} Ctrl+Break

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 129 di 314

{PAUSE} {NUMPAD0} - {NUMPAD9} {NUMPADMULT} {NUMPADADD} {NUMPADSUB} {NUMPADDIV}


{NUMPADDOT} {NUMPADENTER} {APPSKEY} {LALT} {RALT} {LCTRL} {RCTRL} {LSHIFT}
{RSHIFT} {SLEEP} {ALTDOWN} {SHIFTDOWN} {CTRLDOWN} {LWINDOWN} {RWINDOWN} {ASC nnnn}
{BROWSER_BACK} {BROWSER_FORWARD} {BROWSER_REFRESH} {BROWSER_STOP} {BROWSER_SEARCH}
{BROWSER_FAVORITES} {BROWSER_HOME} {VOLUME_MUTE} {VOLUME_DOWN} {VOLUME_UP}
{MEDIA_NEXT} {MEDIA_PREV} {MEDIA_STOP} {MEDIA_PLAY_PAUSE} {LAUNCH_MAIL}
{LAUNCH_MEDIA} {LAUNCH_APP1}

PAUSE Numpad digits Numpad Multiply Numpad Add Numpad Subtract Numpad Divide
Numpad period Enter key on the numpad Windows App key Left ALT key Right ALT key
Left CTRL key Right CTRL key Left Shift key Right Shift key Computer SLEEP key
Tiene premuta la chiave ALT finchè viene inviata {ALTUP} Tiene premuta la chiave
SHIFT finchè viene inviata {SHIFTUP} Tiene premuta la chiave CTRL finchè viene
inviata {CTRLUP} Tiene premuta la chiave Windows finchè viene inviata {LWINUP}
Tiene premuta la chiave Windows finchè viene inviata {RWINUP} Invia la
combinazione di chiavi ALT+nnnn Solo 2000/XP: Seleziona il pulsante del browser
"back" Solo 2000/XP: Seleziona il pulsante del browser "forward" Solo 2000/XP:
Seleziona il pulsante del browser "refresh" Solo 2000/XP: Seleziona il pulsante
del browser "stop" Solo 2000/XP: Seleziona il pulsante del browser "search" Solo
2000/XP: Seleziona il pulsante del browser "favorites" Solo 2000/XP: Lancia il
browser e va alla home page Solo 2000/XP: Disabilita il volume Solo 2000/XP:
Riduce il volume Solo 2000/XP: Aumenta il volume Solo 2000/XP: Seleziona la
traccia successiva in media player Solo 2000/XP: Seleziona la traccia precedente
in media player Solo 2000/XP: Interrompe media player Solo 2000/XP: Avvia/mette in
pausa media player Solo 2000/XP: Lancia l'applicazione email Solo 2000/XP: Lancia
media player Solo 2000/XP: Lancia app1 utente

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 130 di 314

{LAUNCH_APP2}

Solo 2000/XP: Lancia app2 utente/td>

Per inviare il valore ASCII A (lo stesso che si ottiene premendo ALT+065 sulla
tastiera numerica) Send("{ASC 65}") Chiavi singole possono essere ripetute, ad es.
Send("{DEL 4}") ;Preme la chiave DEL 4 volte Send("{S 30}") ;Digita 30 caratteri
'S' Send("+{TAB 4}) ;Preme SHIFT+TAB 4 volte Per tenere premuta una chiave
(generalmente utile solo per giochi) Send("{a down}") ;Tiene premuta la chiave A
Send("{a up}") ;Rilascia la chiave A Per impostare lo stato delle chiavi capslock,
numlock e scrolllock Send("{NumLock on}") ;Attiva NumLock Send("{CapsLock off}")
;Disattiva CapsLock Send("{ScrollLock toggle}") ;Cambia lo stato di ScrollLock Se
vuoi usare una variabile per il contatore, prova $n = 4 Send("+{TAB " & $n & "}")
Se vuoi inviare il valore ASCII A quattro volte, prova $x = Chr(65) Send("{" & $x
& " 4}") Moltissime tastiere di computer protatili hanno una chiave speciale Fn.
Questa chiave non può essere simulata. Nota, impostando il parametro flag a 1 i
processi "speciali" riportati su saranno disabilitati. Ciò è utile quando vuoi
inviare testo copiato da una variabile e vuoi che sia inviato esattamente come è
scritto. Ad esempio, apri Opzioni Cartella (nel Pannello di Controllo) e prova il
seguente codice: Send("{TAB}") Naviga fino al prossimo controllo (pulsante,
checkbox, etc) Send("+{TAB}") Naviga fino al controllo precedente. Naviga fino al
prossimo WindowTab (su una finestra di dialogo "a Send("^{TAB}") schede")
Send("^+{TAB}") Naviga fino al precedente WindowTab. Può essere usato per cambiare
lo stato di una checkbox o cliccare su un Send("{SPACE}") pulsante. Send("{+}") Di
solito seleziona una checkbox (se è una checkbox "vera".) Send("{-}") Di solito
deseleziona una checkbox. Send Espande ricorsivamente le cartelle in una
SysTreeView32. ("{NumPadMult}") Usa combinazioni Alt-key per accedere a voci di
menu. Inoltre, apri Notepad e prova il codice seguente: Send("!f") Send Alt+f, la
chiave di accesso di Notepad per il menu file. Prova le altre lettere!

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 131 di 314

Send("{DOWN}") Sposta in basso un menu. Send("{UP}") Sposta in alto un menu.


Send("{LEFT}") Sposta a sinistra un nuovo menu o espande un submenu.
Send("{RIGHT}") Sposta a destra un nuovo menu o espande un submenu. Vedi l?Help di
Windows--premi Win+F1--per una lista completa di shortcuts di tastiera se non
conosci l'importanza di Alt+F4, PrintScreen, Ctrl+C, e così via.

Funzioni correlate SendAttachmode (Option), SendKeyDelay (Option),


SendKeyDownDelay (Option), ControlSend

Esempio Send("#r") WinWaitActive("Run") Send("notepad.exe{Enter}")


WinWaitActive("Untitled -") Send("La data/ora del giorno è {F5}")

Riferimenti di funzione
AutoItSetOption
Cambia il funzionamento di varie funzioni/parametri di AutoIt.

AutoItSetOption ( "option", param )

Parametri opzione param L'opzione da cambiare. Vedi Osservazioni. Il parametro


(varia a seconda di opzione). Vedi Osservazioni.

Valore di ritorno Ritorna il valore dell'impostazione precedente.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 132 di 314

Osservazioni Puoi usare Opt() in alternativa a AutoItSetOption(). AutoIt si


arrresterà con un messaggio di errore se l'opzione richiesta è sconosciuta. Le
opzioni sono le seguenti: Opzione Parametri CaretCoordMode Imposta la modalità con
cui le funzioni caret sono usate, sia coordinate assolute che coordinate relative
alla finestra attiva: 1 = coordinate assolute dello schermo (default) 0 =
coordinate relative alla finestra attiva Imposta la modalità con la quale i colori
sono definiti, sia RGB che BGR. RGB è il default ma in versioni precedenti di
AutoIt (pre 3.0.102) BGR era il default: 0 = I colori sono definiti come RGB
(0xRRGGBB) (default) 1 = I colori sono definiti come BGR (0xBBGGRR) (la modalità
usata nelle vecchie versioni di AutoIt) Cambia il modo in cui le stringhe
letterali e i simboli % sono interpretati. Per default le stringhe sono trattate
letteralmente, questa opzione consente di trattare variabili %ambiente%
all'interno di stringhe, ad es., "La directory temp è: %temp%". 1 = espande le
variabili d'ambiente (simile a AutoIt v2) 0 = non espande le variabili d'ambiente
(default) Senza questa opzione la modalità usuale sarebbe: "La directory temp è: "
& EnvGet("temp") Altera la lunghezza della pausa tra mouse clicks. Tempo di pausa
in millisecondi (default=10).

ColorMode

ExpandEnvStrings

MouseClickDelay

Altera il tempo in cui un click del mouse è tenuto attivo prima di essere
MouseClickDownDelay rilasciato. Tempo di pausa in millisecondi (default=10).
Altera la lunghezza della pausa all'inizio e alla fine di una operazione di
MouseClickDragDelay "mouse drag". Tempo di pausa in millisecondi (default=250).
MouseCoordMode Imposta la modalità in cui sono usate le coordinate nelle funzioni
del mouse, sia coordinate assolute che coordinate relative alla finestra attiva: 1
= coordinate assolute dello schermo (default) 0 = coordinate relative alla
finestra corrente (lo stesso di AutoIt v2) Se questa opzione è usata tutte le
variabili devono essere pre-dichiarate conh Dim, Local o Global prima che possano
essere usate - elimina la possibilità che variabili non corrette causino bugs. 1 =
Le variabili devono essere pre-dichiarate 0 = Le variabili non devono essere pre-
dichiarate (default) Imposta la modalità in cui le coordinate nelle funzioni pixel
sono usate, sia coordinate assolute che relative alla finestra corrente: 1 =
coordinate assolute dello schermo (default) 0 = coordinate relative alla finestra
corrente Imposta se lo script dovrebbe terminare con un "fatal error" se una

MustDeclareVars

PixelCoordMode

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 133 di 314

RunErrorsFatal

funzione Run/RunWait fallisce a causa di path errato/file non trovato/login ID


errato: 1 = fatal error (default) 0 = silent error (@error impostato a 1)
Specifica se AutoIt collega input threads quando viene usata la funzione Send().
Quando non collegata (default mode=0) determinare lo stato di capslock/scrolllock
e numlock può essere irraggiungibile sotto NT4. Comunque, quando specifichi attach
mode=1 la sintassi Send("{... down/up}") non funzionerà e si potranno verificare
problemi con chiavi da inviare a finestre "hung". ControlSend() collega SEMPRE e
non è influenzata da questa modalità. 0 = non collega (default) 1 = collega
Specifica se AutoIt dovrebbe memorizzare lo stato di capslock prima di una
funzione Send e ripristinarlo in seguito. 0 = non memorizza/ripristina 1 =
memorizza e ripristina (default) Altera la lughezza di una pausa tra battute di
tasto inviate. Tempo di pausa in millisecondi (default=5).Talvolta un valore di 0
non funziona; usa piuttosto 1. Altera il tempo in cui un tasto è premuto prima di
essere rilasciato durante una battuta di tastiera. Per applicazioni che hanno
bisogno di tempo per registrare i tasti premuti (e molti giochi) puoi avere
bisogno di aumentare questo valore dal default. Tempo di pausa in millisecondi
(default=1). Se abilitato visualizza la linea in esecuzione di uno script nella
tray icon tip per aiutare il debug. 0 = nessuna informazione de debug (default) 1
= visualizza debug Nasconde la tray icon di AutoIt. Nota: L'icona apparirà ancora
inizialmente ~750 millisecondi. 0 = visualizza l'icona (default) 1 = nasconde
l'icona Specifica se il testo di una finestra nascosta può essere "visto" dalle
funzioni che elaborano la finestra. 0 = Non individua il testo nascosto (default)
1 = Individua il testo nascosto Permette alle routines di ricerca della finestra
di cercare finestre figlie allo stesso modo delle finestre "top-level". 0 = Cerca
solo finestre top-level (default) 1 = Cerca finestre top-level e finestre figlie
Altera il metodo che è usato per confrontare il testo delle finestre durante una
operazione di search. 1 = Completa / Modalità lenta (default) 2 = Modalità rapida
nella modalità rapida AutoIt di solito può "vedere" solo testo di dialog, testo di
pulsanti e le intestazioni di alcuni controlli. Nella modalità di default molto
più testo può essere visto (ad esempio il contenuto della finestra di Blocco
Note). Se stai avendo problemi di prestazioni quando esegui molte ricerche di

SendAttachMode

SendCapslockMode

SendKeyDelay

SendKeyDownDelay

TrayIconDebug

TrayIconHide

WinDetectHiddenText

WinSearchChildren

WinTextMatchMode

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm


18/05/2008
AutoIt

Pagina 134 di 314

finestre allora passare alla modalità "rapida" può essere di aiuto. Altera il
metodo che è usato per confrontare titoli di finestre durante operazioni di
ricerca. 1 = Confronta il titolo dall'inizio (default) 2 = Confronta ogni
sottostringa nel titolo 3 = Confronta il titolo esatto 4 = Modalità avanzata, vedi
Titoli di Finestra & Testo (Avanzato) Altera il tempo di interruzione di uno
script dopo un'operazione riuscita relativa a finestre. Tempo di pausa in
millisecondi (default=250).

WinTitleMatchMode

WinWaitDelay

Funzioni correlate Molti!

Esempio ; copia tutto ciò che vuoi cambiare ;il valore di default è elencato per
primo Opt("CaretCoordMode", 1) ;1=assoluto, 0=relativo Opt("ExpandEnvStrings", 0)
;0=non espandere, 1=espandi Opt("MouseClickDelay", 10) ;10 millisecondi
Opt("MouseClickDownDelay", 10) ;10 millisecondi Opt("MouseClickDragDelay", 250)
;250 millisecondi Opt("MouseCoordMode", 1) ;1=assoluto, 0=relativo
Opt("MustDeclareVars", 0) ;0=no, 1=richiede pre-dichiarazione
Opt("PixelCoordMode", 1) ;1=assoluto, 0=relativo Opt("RunErrorsFatal", 1)
;1=fatale, 0=inespresso, imposta @error Opt("SendAttachMode", 0) ;0=non collega,
1=collega Opt("SendCapslockMode", 1) ;1=memorizza e ripristina, 0=non memorizza
Opt("SendKeyDelay", 5) ;5 millisecondi Opt("SendKeyDownDelay", 1) ;1 millisecondo
Opt("TrayIconDebug", 0) ;0=no info, 1=debug line info Opt("TrayIconHide", 0)
;0=visualizza, 1=nascondi tray icon Opt("WinWaitDelay", 250) ;250 millisecondi
Opt("WinDetectHiddenText", 0) ;0=non individuare, 1=individua
Opt("WinSearchChildren", 1) ;0=no, 1=cerca anche i figli Opt("WinTitleMatchMode",
1) ;1=start, 2=subStr, 3=exact, 4=... Opt("WinWaitDelay", 250) ;250 millisecondi

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 135 di 314

Riferimenti alle funzioni


Abs
Calcola il valore assoluto di un numero.

Abs ( espressione )

Parametri espressione Ogni espressione numerica valida.

Valore di ritorno Ritorna il valore assoluto di una espressione.

Osservazioni Una stringa ha il valore di zero.

Funzioni correlate Nessuno.

Esempio $var = Abs(-123.45) ;il valore è 123.45

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 136 di 314

Riferimenti alle funzioni


ACos
Calcola l'arcoseno di un numero.

ACos ( espressione )

Parametri espressione Ogni valore compreso tra -1 e 1.

Valore di ritorno Ritorna l'arcoseno trigonometrico di espressione. Il risultato è


in radianti.

Osservazioni ACos(x) è definito matematicamente solo per -1 < x < 1, perciò ACos
tende a ritornare -1.#IND per altri valori di x.

Funzioni correlate Sin, Cos, Tan, ASin, ATan

Esempio $x = ACos(0.5) $pi = 3.14159265358979 $radToDeg = 180 / $pi $y = ACos(-1)


* $radToDeg ;l'arcoseno di -1 ritorna 180°

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 137 di 314

Riferimenti di funzione
ASin
Calcola l'arcoseno di un numero.

ASin ( espressione )

Parametri espressione Qualunque valore tra -1 e 1 (inclusivo).

Valore di ritorno Ritorna l'arcoseno trigonometrico di espressione. Il risultato è


in radianti.

Osservazioni ASin(x) è definito matematicamente solo per -1 < x < 1, perciò ASin
tende a ritornare -1.#IND per altri valori di x.

Funzioni correlate Sin, Cos, Tan, ACos, ATan

Esempio $x = ASin(0.5) $pi = 3.14159265358979 $radToDeg = 180 / $pi $y = ASin(1) *


$radToDeg ;arcoseno di 1 ritorna 90°

Riferimenti di funzione

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 138 di 314

ATan
Calcola l'arcotangente di un numero.

ATan ( espressione )

Parametri espressione Ogni espressione numerica valida.

Valore di ritorno Ritorna l'arcotangente trigonometrica di un'espressione


espressione. Il risultato è in radianti.

Osservazioni Il risultato di 4 * ATan(1) è pi.

Funzioni correlate Sin, Cos, Tan, ASin, ACos

Esempio $x = ATan(0.5) $pi = 4 * ATan(1) ;è equivalente a 3.14159265358979


$radToDeg = 180 / $pi $y = ATan(1) * $radToDeg ;arcotangente di 1 ritorna 45°

Riferimenti di funzione
BitAND
Esegue un'operazione bitwise AND.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 139 di 314

BitAND ( valore1, valore2, [, valore n] )

Parametri valore1 valore2 valore n Il primo numero. Il secondo numero. [opzionale]


L'ennesimo numero - fino a 255 valori possono essere specificati.

Valore di ritorno Ritorna il valore dei parametri bitwise-AND.

Osservazioni Ricorda che la numerazione esadecimale può essere usata per i numeri.
Ricorda che AND ritorna 1 se entrambi i bits sono 1 e ritorna 0 in caso contrario.

Funzioni correlate BitNOT, BitOR, BitShift, BitXOR, Hex

Esempio $x = BitAND(13, 7) ;x == 5 perchè 1101 AND 0111 = 0101 $x = BitAND(2, 3,


6) ;x == 2 perchè 0010 AND 0011 AND 0110 = 0010

Riferimenti di funzione
BitNOT
Esegue un'operazione bitwise NOT. BitNOT ( valore )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 140 di 314

Parametri valore Il numero con cui operare.

Valore di ritorno Ritorna il bitwise NOT del valore. Oerazioni Bit sono eseguite
come numeri interi a 32-bit.

Osservazioni Ricorda che la numerazione esadecimale può essere usata per i numeri.
Ricorda che nella numerazione di complemento a 2, BitNOT è funzionalmente
equivalente a 1 e a negare il risultato. Ricorda anche che NOT cambia un bit da 0
a 1 e vice-versa.

Funzioni correlate BitAND, BitOR, BitShift, BitXOR, Hex

Esempio $x = BitNot(5) #cs Commenti: Il risultato è -6 perchè per numeri a 32-bit


5 == 00000000000000000000000000000101 binary -6 ==
11111111111111111111111111111010 binary e il primo bit è segnato #ce

Riferimenti di funzione
BitOR
Esegue un'operazione bitwise OR.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 141 di 314

BitOR ( valore1, valore2 [, valore n] )

Parametri valore1 valore2 valore n Il primo numero. Il seconfo numero. [opzionale]


L'ennesimo numero - fino a 255 valori possono essere specificati.

Valore di ritorno Ritorna i due parametri bitwise-OR.

Osservazioni Ricorda che la numerazione esadecimale può essere usata per i numeri.
Ricorda che OR ritorna 0 se entrambi i bit sono 0 e ritorna 1 in caso contrario.

Funzioni correlate BitAND, BitNOT, BitShift, BitXOR, Hex

Esempio $x = BitOR(3, 6) ;x == è 7 perchè 0011 OR 0110 = 0111 $x = BitOR(3, 15,


32) ;x == 47 perchè 0011 OR 1111 OR 00100000 = 00101111

Riferimenti di funzione
BitShift
Esegue un'operazione di spostamento di bit. BitShift ( valore, spostamento )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 142 di 314

Parametri valore shift Il primo numero con cui operare. Numero di bit da spostare
a destra (i numeri negativi vengomno spostati a sinistra).

Valore di ritorno Ritorna il valore spostato del numero richiesto di bit. Le


operazioni di Bit sono eseguite come numeri interi a 32-bit.

Osservazioni Ricorda che la numerazione esadecimale può essere usata per i numeri.
Spostamenti a sinistra sono equivalenti a ridurre della metà; spostamenti a destra
a raddoppiare.

Funzioni correlate BitAND, BitNOT, BitOR, BitXOR, Hex

Esempio $x = BitShift(14, 2) ; x == 3 perchè 1110b right-shifted due volte è 11b


== 3 $y = BitShift(14, -2) ; y == 48 perchè 1110b left-shifted due volte è 111000b
== 56 $z = BitShift( 1, -31) ; z == -2147483648 perchè nella numerazione in
complemento a 2, la ; 32esima cifra dalla destra ha segno negativo.

Riferimenti di funzione
BitXOR
Esegue un'operazione esclusiva bitwise OR (XOR).

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 143 di 314

BitXOR ( valore1, valore2 [, valore n] )

Parametri valore1 valore2 valore n Il primo numero. Il secondo numero. [opzionale]


L'ennesimo numero - fino a 255 valori possono essere specificati.

Valore di ritorno Ritorna il valore dei parametri bitwise-XOR. Operazioni Bit sono
eseguite come numeri interi a 32-bit.

Osservazioni Ricorda che la numerazione esadecimale può essere usata per i numeri.
Ricorda che XOR ritorna 1 se esattamente un bit è 1 e ritorna 0 in caso contrario.

Funzioni correlate BitAND, BitNOT, BitOR, BitShift, Hex

Esempio $x = BitXOR(10, 6) ;x == 12 perchè 1010b XOR 0110b == 1100 $x = BitXOR(2,


3, 6) ;x == 7 perchè 0010 XOR 0011 XOR 0110 = 0111

Riferimenti alle funzioni


Cos
Calcola il coseno di un numero.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 144 di 314

Cos ( espressione )

Parametri espressione Valore in radianti.

Valore di ritorno Ritorna il coseno trigonometrico di un numero.

Osservazioni 1° = pi / 180 radianti.

Funzioni correlate Sin, Tan, ASin, ACos, ATan

Esempio $pi = 3.14159265358979 $x = cos($pi / 4) $degToRad = $pi / 180 $y = Cos(90


* $degToRad) ;coseno di 90°

Riferimenti alle funzioni


Exp
Calcola e alla potenza di un numero.

Exp ( espressione )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 145 di 314

Parametri espressione Ogni espressione numerica valida.

Valore di ritorno Ritorna e aumentato alla potenza di espressione.

Osservazioni e è la base del logaritmo naturale ed è approssimativamente


2.71828182845905

Funzioni correlate Log

Esempio $x = Exp(5) ;ritorna 148.413159102577

Riferimenti alle funzioni


Log
Calcola il logaritmo naturale di un numero.

Log ( espressione )

Parametri espressione Ogni numero positivo.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 146 di 314

Successo: Ritorna il logaritmo naturale di un parametro. Insuccesso: Tende a


ritornare -1.#IND per parametri non positivi.

Osservazioni @error è sempre 0

Funzioni correlate Exp

Esempio $x = Log(1000) ;ritorna 6.90775527898214 $y = Log10(1000) ;ritorna 3 ;


funzione definita dall'utente per log comuni Func Log10($x) Return Log($x) /
Log(10) ;10 è la base EndFunc

Riferimenti alle funzioni


Mod
Esegue l'operazione modulo.

Mod ( valore1, valore2 )

Parametri valore1 valore2 Il dividendo. Il divisore.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 147 di 314

Valore di ritorno Successo: Ritorna il resto quando valore1 è diviso per valore2.
Insuccesso: Ritorna -1.#IND se il divisore è zero.

Osservazioni quoziente = dividendo / divisore Questa funzione lavora con floats e


con numeri interi.

Funzioni correlate Nessuna.

Esempio $n = 18 If mod($n, 2) = 0 Then MsgBox(0,"", $n & " è un numero pari.")


Else MsgBox(0, "", $n & " è un numero dispari.") EndIf $x = mod(4, 7) ;$x == 4
perchè il divisore > dividendo $y = mod(1, 3/4) ;$y == 0.25 perchè il divisore è
un float

Riferimenti alle funzioni


Random
Genera un numero pseudo-random di tipo float.

Random ( [[Min ,] Max] )

Parametri Min [opzionale] Il numero più piccolo che deve essere generato. Il
default è 0.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 148 di 314

Max

[opzionale] Il numero più grande che deve essere generato. Il default è 1.

Valore di ritorno Successo: Ritorna un numero pseudo-random compreso tra Min e


Max. Insuccesso: Ritorna 1 e imposta il flag @error: 1 se l'argomento è un array o
una stringa non numerica 2 se Min > Max

Osservazioni Se è fornito solo un argomento, quest'ultimo è interpretato come Max.


Il risultato sarà un float nel range da Min a Max, incluso Min, ma NON incluso
Max.

Funzioni correlate Int, Round

Esempio ;Flip of coin If Random() < 0.5 Then ; Ritorna un valore compreso tra 0 e
1. $msg = "Testa. 50% Vincita" Else $msg = "Coda. 50% Perdita" Endif
MsgBox(0,"Lancio della moneta", $msg ) ;Roll of a die msgBox(0,"Roll of die", "You
rolled a " & Int(Random(6)+1)) ;Nel mezzo di una simulazione di un gioco di Borsa
valori $StockPriceChange = Int(Random(-10, 11)) ; genera un numero intero compreso
tra -10 e 10 $StockPrice = $StockPrice + $StockPriceChange If $StockPriceChange <
0 Then MsgBox(4096, "Stock Change", "Il tuo listino titoli è al ribasso di $" &
$StockPrice) ElseIf $StockPriceChange > 0 Then MsgBox(4096, "Stock Change", "Il
tuo listino titoli è al rialzo di $" & $StockPrice) Else MsgBox(4096, "Stock
Change", "Il tuo listino titoli stayed at $" & $StockPrice) Endif

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 149 di 314

;Random letter If Random() < 0.5 Then ;Capitals $Letter = Chr(Random(Asc("A"),


Asc("Z")+1) Else ;Lower case $Letter = Chr(Random(Asc("a"), Asc("z")+1) Endif

Commenti basati sul motore originale Questa funzione usa il generatore di numeri
random Mersenne Twister , MT19937, scritto da Takuji Nishimura, Makoto Matsumoto,
Shawn Cokus, Matthe Bellew e Isaku Wada. Il Mersenne Twister è un algoritmo per
generare numeri random. E' stata disegnata considerando l'imperfeazione di altri
generatori. Il periodo, 219937-1, e l'ordine di equidistribuzione, 623 dimensioni,
sono moplto più grandi. Il generatore è anche veloce; evita moltiplicazione e
divisione, e beneficia di caches e pipelines. For ulteriori informazioni vedi la
pagina web degli inventori http://www.math.keio.ac.jp/~matumoto/emt.html Copyright
(C) 1997 - 2002, Makoto Matsumoto e Takuji Nishimura, Tutti i diritti riservati.
Ridistribuzione e uso degli originali in formato binario, con o senza modifiche,
sono consentiti purchè le seguenti condizioni siano rispettate: 1. Ridistribuzione
del codice originale deve contenere le informazioni sul copyright, questa lista di
condizioni e il seguente disclaimer. 2. Ridistribuzione in formato binario deve
riprodurre le informazioni sul copyright notice, questa lista di condizioni e il
seguente disclaimer nella documentazione e/o altro materiale fornito con la
distribuzione. 3. I nomi dei contributori non possono essere usati per approvare o
promuovere prodotti derivati da questo software senza specifica approvazione
scritta. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Riferimenti alle funzioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 150 di 314

Round
Ritorna un numero arrotondato ad uno specifico numero di posizioni decimali.

Round ( espressione [, posizioni decimali] )

Parametri espressione posizioni decimali Ogni espressione numerica valida. numero


opzionale che indica quante posizioni a destra della parte decimale sono incluse
nell'arrotondamento. Se omesso, Round ritirna un numero intero.

Valore di ritorno Ritorna il numero arrotondato.

Osservazioni Il parametro posizioni decimali può essere negativo, che significa


arrotondare alle unità, decine, centinaia, etc. Nota che sono visualizzate fino a
quindici cifre di un numero, e nota che le posizioni decimali non riempiranno mai
un numero con zero alla fine.

Funzioni correlate Int, Number

Esempio $x = Round(-1.582, 1) ;ritorna -1.6 $y = Round(3.1415, 9) ;nessuna


modifica $z = round(123.5, -1) ;ritorna 120

Riferimenti alle funzioni


Sin

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 151 di 314

Calcola il seno di un numero.

Sin ( espressione )

Parametri espressione Valore in radianti.

Valore di ritorno Ritorna il seno trigonometrico di un numero.

Osservazioni 1° = pi / 180 radianti.

Funzioni correlate Cos, Tan, ASin, ACos, ATan

Esempio $pi = 3.14159265358979 $x = sin($pi / 4) ;ritorna 0.707106781186547 che


dovresti riconoscere come sqrt(2)/2 $degToRad = $pi / 180 $y = Sin(90 * $degToRad)
;seno di 90°

Riferimenti alle funzioni


Sqrt
Calcola la radice quadrata di un numero. Sqrt ( espressione )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 152 di 314

Parametri numero Ogni espressione non negativa di cui ottenere la radice quadrata.

Valore di ritorno Successo: Ritorna la radice quadrata. Insuccesso: Ritorna 0 e


imposta @error a 1 se il parametro è negativo.

Osservazioni Per calcolare la radice quadrata, usa l'operatore potenza: x ^ (1/n)


MsgBox(0,"La radice al cubo di 27 è", 27 ^ (1/3) )

Funzioni correlate Exp, Log

Esempio $x = Sqrt(2) ;ritorna 1.4142135623731 $y = sqrt(9) ;ritorna 3

Riferimenti alle funzioni


Tan
Calcola la tangente di un numero.

Tan ( espressione )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 153 di 314

espressione

Valore in radianti.

Valore di ritorno Ritorna la tangente trigonometrica di un numero.

Osservazioni 1° = pi / 180 radians. Nota che Tan è "infinito" per ... -3PI/2, -PI
/2, PI/2, 3PI/2, 5PI/2, ... e tende a ritornare 1.63317787283838e+016 per tali
multipli di Pi-mezzi.

Funzioni correlate Sin, Cos, ASin, ACos, ATan

Esempio $pi = 3.14159265358979 $x = tan($pi / 4) $degToRad = $pi / 180 $y = Tan(90


* $degToRad) ;tangente di 90°

Riferimenti alle funzioni


InputBox
Visualizza un'input box per chiedere all'utente di fornire una stringa. InputBox (
"titolo", "Prompt" [, "Default" [, "carattere password" [, Larghezza, Altezza [,
Sinistra, Top [, TimeOut]]]]] )

Parametri titolo Il titolo dell'input box.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 154 di 314

prompt default carattere password larghezza altezza left top timeout

Un messaggio all'utente per indicare che tipo di input è atteso. Il valore con il
quale l'input box viene inizializzata. [opzionale] Il carattere con il quale
sostituire tutti i caratteri digitati. Se vuoi che i caratteri digitati compaiano,
definisci una stringa vuota ("") (default). Se fornisci una stringa con caratteri
multipli, sarà usato solo il primo carattere. [opzionale] La larghezza della
finestra. Se definita, dovrà essere definita anche l'altezza. Usa -1 per la
larghezza di default. [opzionale] L'altezza della finestra. Se definita, dovrà
essere definita anche la larghezza. Usa -1 per l'altezza di default. [opzionale]
Il lato sinistro dell'input box. Per default, la finestra è centrata. Se definita,
dovrà essere definita anche il top. [opzionale] Il top dell'input box. Per
default, la finestra è centrata. Se definita, dovrà essere definito anche il lato
sinistro. [opzionale] Quanti secondi aspettare prima di cancellare automaticamente
l'InputBox.

Valore di ritorno Successo: Ritorna la stringa che è stata digitata. Insuccesso:


Ritorna una stringa vuota e imposta @error come segue: @Error 0 = La stringa
ritornata è valida. 1 = Il pulsante Cancel è stato premuto. 2 = Il Timeout è stato
raggiunto. 3 = L'InputBox non è stata aperta. Ciò è causato di solito da argomenti
errati.

Osservazioni BlockInput(1) previene che utenti Windows 98/Me inseriscano dati in


input. L'InputBox è ridimensionabile dall'utente, ma ha una dimensione minima di
circa 190 x 114 pixels. La dimensione di default è di circa 250 x 190 pixels. La
stringa ritornata non sarà superiore a 254 caratteri; se input contiene carriage
returns o linefeeds, il risultato sarà troncato alla prima occorrenza.

Funzioni correlate MsgBox

Esempio $answer = InputBox("Question", "Dove sei nato?", "Pianeta Terra", "", -1,
-1, 0, 0) ;Poni l'input box nell'angolo in alto a sinistra visualizzando i
caratteri come sono digitati.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 155 di 314

$passwd = InputBox("Controllo di sicurezza", "Imposta la tua password.", "", "*")


;Chiede all'utente di fornire una password. Non dimenticare di validarla!

Riferimenti alle funzioni


MsgBox
Visualizza una semplice message box con timeout opzionale.

MsgBox ( flag, "titolo", "testo" [, timeout] )

Parametri flag titolo testo timeout Il flag indicata il tipo di message box e le
possibili combinazioni di pulsanti. Vedi le Osservazioni. Il titolo della message
box. Il testo della message box. [opzionale] Il Timeout in secondi. Dopo che il
timeout è trascorso la message box verrà automaticamente chiusa.

Valore di ritorno Successo: Ritorna l'ID del pulsante premuto. Insuccesso: Ritorna
-1 se la message box è stata chiusa per timeout. Pulsante premuto OK CANCEL ABORT
RETRY IGNORE YES NO TRY AGAIN ** CONTINUE ** Valore di ritorno 1 2 3 4 5 6 7 10 11

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 156 di 314

Osservazioni Il parametro flag può essere una combinazione dei seguenti valori:
valore del flag 0 1 2 3 4 5 6 ** valore del flag 0 16 32 48 64 valore del flag 0
256 512 valore del flag 0 4096 8192 valore del flag 0 262144 5244288 Pulsanti
visualizzati pulsante OK OK e Cancel Abort, Retry, e Ignore Yes, No, e Cancel Yes
e No Retry e Cancel Cancel, Try Again, Continue Icone visualizzate (No icon) Stop-
sign icon Question-mark icon Exclamation-point icon Icona consistente di una 'i'
in una circonferenza Pulsante di default Il primo pulsante è il pulsante di
default Il secondo pulsante è il pulsante di default Il terzo pulsante è il
pulsante di default Modalità Applicazione System modal (la finestra non ha icone)
Task modal Varie (niente di speciale) MsgBox ha impostato un attributo top-most il
titolo e il testo sono allineati a destra

** Valido solo su Windows 2000/XP e successivi. Ad esempio, per specificare una


finestra SYSTEMMODAL con i pulsanti YES/NO il valore del flag dovrebbe esserer
4096+4 (o 4100). Una message box appare centrata sullo schermo e ridimensionata in
base al testo che contiene. Comunque, il titolo potrebbe essere troncato se viene
usato il flag SYSTEMMODAL (4096).

Funzioni correlate InputBox, ToolTip, TrayTip, SplashTextOn

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 157 di 314

Esempio MsgBox(4096, "Test", "Questa finestra sarà chiusa per timeout entro 10
seconds", 10)

Riferimenti alle funzioni


ProgressOff
Chiude la Progress window.

ProgressOff ( )

Parametri Nessuna.

Valore di ritorno Nessuno.

Osservazioni Nessuna.

Funzioni correlate ProgressSet, ProgressOn

Esempio ProgressOff()

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 158 di 314

Riferimenti alle funzioni


ProgressOn
Crea una finestra con una progress bar personalizzabile.

ProgressOn ( "titolo", "testo principale" [, "testo secondario" [, x pos [, y pos


[, opzione]]]] )

Parametri titolo testo principale testo secondario x pos y pos Il titolo della
progress window. Il titolo della label principale, in grassetto, situata nella
parte alta. [opzionale] il testo della label secondaria, normale, situata nella
parte più bassa. (il default è blank) [opzionale] la posizione da sinistra (in
pixels) della progress window. (il default è centrata) [opzionale] la posizione
dal margine in alto (in pixels) della progress window. (il default è centrata)
[opzionale] Il Default è 'sempre sul margine in alto con il titolo' Aggiungi le
seguenti opzioni se vuoi: 1 = finestra senza bordo, senza titolo 2 = Senza
l'attributo "sempre in primo piano" 16 = La finestra può essere spostata

opzione

Valore di ritorno Nessuna.

Osservazioni Per saltare un parametro opzionale, lasciare il suo valore di default


intatto, usa: "" per parametri stringa -1 per parametri numerici Se ProgressOn è
chiamata mentre una progress window già esiste, la finestra è
ridisegnata/spostata. (Se vuoi multiple progress windows simultanee, hai bisogno
di usare script multipli.)

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 159 di 314

ProgressOff, ProgressSet

Esempio ProgressOn("Progress Meter", "Incrementa ogni secondo", "0 percento") For


$i = 10 to 100 step 10 sleep(1000) ProgressSet( $i, $i & " percento") Next
ProgressSet(100 , "Fatto", "Completo") sleep(500) ProgressOff()

Riferimenti alle funzioni


ProgressSet
Imposta la posizione e/o il tersto di una finestra Progress bar creata in
precedenza.

ProgressSet ( percento [, "testo secondario" [, "testo principale"]] )

Parametri percento testo secondario testo principale Percentuale (valore tra 0. e


100.) da impostare per la progress bar. opzionalmente imposta il testo per la
label secondaria, Normale, situata nella parte inferiore. opzionalmente imposta il
testo per la label principale, in grassetto, situata nella parte superiore.

Valore di ritorno Nessuna.

Osservazioni Nota che l'argomento testo secondario viene prima dell'argomento


testo principale.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 160 di 314

Funzioni correlate ProgressOff, ProgressOn

Esempio ProgressOn("Progress Meter", "Incrementa ogni secondo", "0 percento") For


$i = 10 to 100 step 10 sleep(1000) ProgressSet( $i, $i & " percento") Next
ProgressSet(100 , "Fatto", "Completo") sleep(500) ProgressOff()

Riferimenti alle funzioni


SplashImageOn
Crea un finestra con un'immagine popup personalizzabile.

SplashImageOn ( "titolo", "file" [, larghezza [, altezza [, x pos [, y pos [,


opt]]]]] )

Parametri titolo file width height x pos y pos Il titolo della finestra splash.
path\filename completo dell'immagine (BMP, GIF, o JPG) [opzionale] larghezza della
finestra in pixels. (il default è 500) [opzionale] altezza della finestra in
pixels. (il default è 400) [opzionale] posizione da sinistra (in pixels) della
finestra splash. (il default è centrata) [opzionale] posizione dal margine in alto
(in pixels) della finestra splash. (il default è centrata) [opzioni addizionali]
Aggiungi le opzioni che vuoi. Il default è 'sempre in primo piano/con il titolo' 1
= finestra senza titolo con il bordo sottile 2 = Senza l'attributo "sempre in
primo piano" 16 = Le finestre possono essere spostate

opt

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 161 di 314

Valore di ritorno Nessuno.

Osservazioni Per saltare un parametro opzionale, lascia il suo valore di default


intatto, usa un valore di -1. L'immagine è scalata ad una specifica larghezza ed
altezza e dovrebbe essere un'immagine Bitmap, GIF, o JPEG. Le icone (ICO) non
saranno visualizzate, sebbene la finestra appaia ancora. Immagini PNG generano un
messaggio di errore di caricamentod, e quindi creano invalidi files/paths. Le
immagini non sono inserite negli eseguibili a meno che usi FileInstall E'
consnetita solo una finestra SplashImage/Testo alla volta; quindi se vuoi
elaborare immagini/testi multiple, semplicemente chiama di nuovo
SplashImageOn/SplashTextOn con le nuove informazioni.

Funzioni correlate SplashOff, SplashTextOn

Esempio $destination = @TempDir & "\mySplash.bmp" FileInstall("C:\foo.bmp",


$destination) ;origine deve essere una stringa di lettere SplashImageOn("Splash
Screen", $destination) Sleep(3000) SplashOff()

Riferimenti alle funzioni


SplashOff
Chiude SplashText o SplashImage.

SplashOff ( )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 162 di 314

Nessuno.

Valore di ritorno Nessuno.

Osservazioni Nessuna.

Funzioni correlate SplashImageOn, SplashTextOn

Esempio SplashTextOn("Esempio", "Splash Screen") Sleep(5000) SplashOff()

Riferimenti alle funzioni


SplashTextOn
Crea una finestra di testo popup personalizzabile. SplashTextOn ( "rirolo",
"testo" [, w [, h [, x pos [, y pos [, opt [, "fontname" [, "fontsz" [,
"fontwt"]]]]]]]] )

Parametri titolo testo w h x pos Il titolo della finestra splash. Il testo della
finestra splash. larghezza opzionale della finestra in pixels. (default 500)
altezza opzionale della finestra in pixels. (default 400) posizione opzionale da
sinistra (in pixels) della finestra splash. (il default è centrata)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 163 di 314

y pos

posizione opzionale dal top (in pixels) della finestra splash. (il default è
centrata) opzioni addizionali: (aggiungile - il default è 'giustificato al
centro/sempre in primo piano/con titolo') 0 = Giustificato al centro/sempre in
primo piano/con titolo (default) 1 = Finestra senza titolo con bordo sottile 2 =
Senza l'attributo "sempre in primo piano" 4 = Testo giustificato a sinistra 8 =
Testo giustificato a destra 16 = Le finestre possono essere spostate Font
opzionale da usare. (viene usato il font di default della GUI OS se il font è "" o
non è stato trovato) font size opzionale. (il default è 12; dimensioni standard
sono 6 8 9 10 11 12 14 16 18 20 22 24 26 28 36 48 72) font weight opzionale (0 -
1000, default = 400 = normale). Un valore > 1000 è trattato come zero.

opt

fontname fontsz fontwt

Valore di ritorno Nessuno.

Osservazioni Per saltare un parametro opzionale, lascia il suo valore di default


intatto, usa un valore di -1. "" per parametri stringhe -1 per parametri numerici
E' consentita solo una finestra SplashImage/Testo alla volta; quindi se vuoi
elaborare immagini/testi multiple, semplicemente chiama di nuovo
SplashImageOn/SplashTextOn con le nuove informazioni. E' anche meglio usare
ControlSetText per aggiornare il testo senza instablità dell'immagine... Nomi di
font standard includono: Arial, Comic Sans MS, Courier New, Lucida Console,
Microsoft Sans Serif, System, Tahoma, Times New Roman, e WingDings Vedi
l'Appendice per una lista completa di font

Funzioni correlate SplashOff, SplashImageOn, ControlSetText, ToolTip

Esempio SplashTextOn("Titolo", "Il messaggio va qui.", -1, -1, -1, -1, 4, "", 24)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 164 di 314

Sleep(3000) SplashOff() ;; FLICKER $message = "" SplashTextOn("TitleFoo",


$message, -1, -1, -1, -1, 4, "") For $x = 1 to 20 $message = $message & $x & @LF
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "") Sleep(100) Next ;;
SMOOTH $message = "" SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "") For
$x = 1 to 20 $message = $message & $x & @LF ControlSetText("TitleFoo", "",
"Static1", $message) sleep(100) Next

Riferimenti alle funzioni


ToolTip
Crea un tooltip dovunque sullo schermo.

ToolTip ( "testo" [, x, y] )

Parametri testo x, y Il testo del tooltip. (Una stringa vuota cancella un tooltip
visualizzato) La posizione x,y del tooltip.

Valore di ritorno Nessuno.

Osservazioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 165 di 314

Se le coordinate x e y vengono omesse, il suggerimento è posto vicino al cursore


del mouse. Se le coordinate del tooltip sono fuori schermo, viene riposizionato in
una posizione visibile. Il Tooltip appare finchè viene cancellato, finchè lo
script terminata, o talvolta finchè viene cliccato. Puoi usare @CR o @LF per
creare tooltips multilinea.

Funzioni correlate TrayTip

Esempio ; Questo creerà un tooltip nell'angolo in alto a sinistra dello schermo


ToolTip("Questo è un tooltip", 0, 0) Sleep(2000) ; Stato inattivo per dare il
tempo al tooltip di essere visualizzato

Riferimenti alle funzioni


TrayTip
Visualizza un "balloon tip" dall'icona di AuotIt. (solo 2000/XP)

TrayTip ( "titolo", "testo", timeout [, opzione] )

Parametri titolo testo timeout opzione Il titolo appare in grassetto al top del
balloon tip. (massimo 63 caratteri) Il messaggio che il "balloon tip"
visualizzerà. (massimo 255 caratteri) Un calcolo approssimativo del tempo in cui
il balloon tip sarà visualizzato. (Windows ha un min e max di circa 10-30 secondi
ma non sempre soddisfa il tempo in questo range.) [opzionale] Vedi Osservazioni.
0=Nessuna icona (default), 1=Info icon, 2=Warning icon, 3=Error icon

Valore di ritorno Nessuno.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 166 di 314

Osservazioni TrayTip funziona solo su Windows 2000/XP o superiori. Un Tray tip


verrà chiuso se l'icona di AutoIt sparisce. Di conseguenza, il TrayTip può non
apparire se AutoItSetOption("TrayIconHide", 1) è impstata o se l'utente ha
disabilitato i balloon tips via impostazioni del registry! Windows XP di solito
emette un suono quando visualizza un balloon tip. Questo suono può essere
disabilitato aggiungendo 16 al parametro opzioni o impostando un titolo vuoto. Per
cancellare un balloon tip che è stato visualizzato, chiama un altro suggerimento
con una stringa vuota (e qualsiasi titolo).

Funzioni correlate MsgBox, ToolTip, TrayIconHide (Option)

Esempio TrayTip("Io sono un titolo", "Io sono un messaggio", 5, 1) MsgBox(4096,"",


"Premi OK per vedere un altro suggerimento.") TrayTip("cancella ogni tray
tip","",0) TrayTip("", "Un differente tray tip.", 5) Sleep(5000)

Riferimenti alle funzioni


AdlibDisable
Disabilita la funzionalità adlib.

AdlibDisable ( )

Parametri Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 167 di 314

Valore di ritorno Nessuna.

Osservazioni Nessuna.

Funzioni correlate AdlibEnable

Esempio AdlibDisable()

Riferimenti alle funzioni


AdlibEnable
Abilita la funzionalità Adlib.

AdlibEnable ( "funzione" [,time] )

Parametri funzione time Il nome della funzione adlib da chiamare. [opzionale] con
che frequenza in millisecondi chiamare la funzione. Il default è 250 ms.

Valore di ritorno Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 168 di 314

Osservazioni Ogni 250 ms (o time ms) la "funzione" specificata è chiamata--


tipicamente per verificare errori inattesi. Per esempio, potresti usare adlib in
uno script che causa un errore imprevedibile di "window pop up". La funzione adlib
dovrebbe essere tenuta semplice poichè è eseguita spesso e durante questi momenti
lo script principale è messo in pausa. Inoltre, il parametro time dovrebbe essere
usato con attenzione per evitare sovraccarico della CPU.

Funzioni correlate AdlibDisable, Call

Esempio AdlibEnable("myadlib") ;... Exit Func myadlib() If WinActive("Error") Then


;... EndIf EndFunc

Riferimenti alle funzioni


AutoItWinGetTitle
Recupera il titolo della finestra di AutoIt.

AutoItWinGetTitle ( )

Parametri Nessuno.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 169 di 314

Nessuno.

Osservazioni Nessuno.

Funzioni correlate AutoItWinSetTitle, WinGetTitle

Esempio $a = AutoItWinGetTitle()

Riferimenti alle funzioni


AutoItWinSetTitle
Cambia il titolo della finestra di AutoIt.

AutoItWinSetTitle ( "newtitle" )

Parametri nuovo titolo Il nuovo titolo da assegnare alla finestra.

Valore di ritorno Nessuno.

Osservazioni La finestra di AutoIt di solito è nascosta. Lo scopo di cambiare il


titolo è consentire ad altri programmi (o altri script AutoIt) di interagire con
AutoIt.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 170 di 314

Funzioni correlate AutoItWinGetTitle, WinSetTitle

Esempio AutoItWinSetTitle("My AutoIt Window")

Riferimenti di funzioni
BlockInput
Disabilita/abilita il mouse e la tastiera.

BlockInput ( flag )

Parametri flag 1 = Disabilita l'input utente 0 = Abilita l'input utente

Valore di ritorno Nessuno.

Osservazioni Se BlockInput è abilitata, la pressione del tasto Alt non può essere
inviato! La tabella seguente mostra come il comportamento di BlockInput dipende
dalla versione di Windows; comunque, premendo Ctrl+Alt+Del su ogni piattaforma
riabiliterà l'input a causa di una caratteristica dell'API di Windows. Sistema
operativo Windows 95 "BlockInput" Risultati Nessun effetto.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 171 di 314

Windows 98/Me Windows NT 4 (Senza ServicePack 6) Windows NT 4 (Con ServicePack 6)


Windows 2000/XP

L'input utente è bloccato ma anche AutoIt non è in grado di simulare l'input.


Nessun effetto. L'input utente è bloccato e AutoIt può simulare la maggior parte
dell'input. L'input utente è bloccato e AutoIt può simulare la maggior parte
dell'input.

Nota che funzioni come WinMove() funzioneranno ancora su Windows 98/Me quando
BlockInput è abilitata.

Funzioni correlate Send

Esempio If @OSVersion <> "WIN_98" And @OSVersion <> "WIN_ME" Then BlockInput(1)
EndIf Run("notepad") WinWaitActive("Untitled - Notepad") Send("{F5}") ;incolla ora
e data BlockInput(0)

Riferimenti alle funzioni


Break
Abilita o disabilita la capacità dell'utente di chiudere uno script dal menu della
tray icon.

Break ( modalità )

Parametri Imposta la modalità di break dello script:

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 172 di 314

modalità

1 = Break è abilitato (l'utente può chiudere) (default) 0 = Break è disabilitato


(l'utente non può chiudere)

Valore di ritorno Nessuno.

Osservazioni Per cortesia disabilitare break solo per buone ragioni. AutoIt
normalmente crea una tray icon quando è in esecuzione, e cliccando con il pulsante
di destra su questa icona l'utente può mettere in pausa o chiudere lo script. Se
Break è abilitata (1), l'utente non può terminare lo script in questo modo.

Funzioni correlate Nessuna.

Esempio Break(0) ;Disabilita break

Riferimenti alle funzioni


Call
Chiama una funzione definita dall'utente contenuta in un parametro stringa.

Call ( "funzione" )

Parametri funzione Il nome della funzione utente da chiamare.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 173 di 314

Valore di ritorno Successo: Ritorna il valore di ritorno della funzione chiamata.


Insuccesso: Imposta @error a 1 se la funzione non esiste.

Osservazioni la funzione non può ricevere nessun parametro e non può esserre una
funzione AutoIt built-in.

Funzioni correlate AdlibEnable

Esempio For $i = 1 to 2 $ret = Call("test" & $i) MsgBox(4096,"", $ret) Next Func
test1() Ritorna "Hello" EndFunc Func test2() Ritorna "Bye" EndFunc

Riferimenti alle funzioni


CDTray
Apre o chiude lo sportello CD.

CDTray ( "drive", "status" )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 174 di 314

drive status

La lettera del drive dello sportello CD da controllare, nel formato D:, E:, etc.
Specifica se vuoi che lo sportello CD sia aperto o chiuso: "open" o "closed"

Valore di ritorno Successo: Ritorna 1. Ritorna 0 se il drive è bloccato da un


software di masterizzazione o se la lettera del Insuccesso: drive non è un CD
drive.

Osservazioni CDTray funziona secondo aspettative su CD drives virtuali come quelli


di DAEMON Tools. CDTray non funziona su CD drives non-locali/mappati; CDTray deve
essere eseguito su computer per i quali interessa il CD locale. CDTray("X:",
"close") tende a ritornare 0 anche su cd trays di computer portatili che possono
essere chiusi solo manualmente.

Funzioni correlate DriveGetType, DriveStatus

Esempio ; Apre il CD tray su drive E: CDTray("E:", "open")

Riferimenti alle funzioni


MemGetStats
Recupera informazioni relative alla memoria.

MemGetStats ( )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 175 di 314

Nessuna.

Valore di ritorno Ritorna un array di sette elementi contenente informazioni sulla


memoria: $array[0] = Memory Load (Percentuale di memoria in uso) $array[1] = RAM
fisica totale $array[2] = RAM fisica disponibile $array[3] = Pagefile totale
$array[4] = Pagefile dipsonibile $array[5] = Memoria virtuale totale $array[6] =
Memoria virtuale disponibile La dimensione della memoria è espressa in kilobytes.

Osservazioni Nessuna.

Funzioni correlate Nessuna.

Esempio $mem = MemGetStats() MsgBox(0, "RAM fisica totale (KB):", $mem[1])

Riferimenti alle funzioni


PixelChecksum
Genera un checksum per una regione di pixels.

PixelChecksum ( sinistra, alto, destra, basso )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 176 di 314

Parametri sinistra alto right basso coordinate di sinistra del rettangolo.


coordinate in alto del rettangolo. coordinate di destra del rettangolo. coordinate
in basso del rettangolo.

Valore di ritorno Ritorna il valore del checksum della regione.

Osservazioni Eseguire un checksum di una regione comporta molto tempo di


elaborazione, perciò usa la regione più piccola che puoi per ridurre i tempi di
CPU. Sulle stesse macchine il checksum dell'intero schermo può comportare diversi
secondi! Un checksum ti permette soltanto di vedere che "qualcosa" è cambiato in
una regione - non ti dice cosa esattamente è cambiato.

Funzioni correlate PixelChecksum, PixelGetColor, PixelCoordMode (Option),


PixelSearch

Esempio ; Aspetta finchè qualcosa cambia nella regione da 0,0 a 50,50 ; Ottiene il
checksum iniziale $checksum = PixelChecksum(0,0, 50,50) ; Aspetta che la regione
cambi, la regione è controllata ogni 100ms per ridurre i tempi di CPU While
$checksum = PixelChecksum(0,0, 50, 50) Sleep(100) WEnd MsgBox(0, "", "Qualcosa è
cambiato nella regioned!")

Riferimenti alle funzioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 177 di 314

PixelGetColor
Ritorna il colore di un pixel in base alle coordinate x,y del pixel.

PixelGetColor ( x , y )

Parametri x y coordinata x del pixel. coordinata y del pixel.

Valore di ritorno Successoo: Ritorna il valore decimale del colore del pixel.
Insuccesso: Ritorna -1 se le coordinate non sono valide.

Osservazioni Versioni precedenti di AutoIt (prima della v3.0.102) usavano il


formato BGR per definire un colore le versioni più nuove usano RGB per default ma
questa caratteristica può essere cambiata usando l'opzione ColorMode.

Funzioni correlate ColorMode (Option), PixelSearch, PixelCoordMode (Option),


MouseGetPos

Esempio $var = PixelGetColor( 10 , 100 ) MsgBox(0,"Il colore decimale è ", $var)


MsgBox(0,"Il colore esadecimale è ", Hex($var, 6))

Riferimenti alle funzioni


PixelSearch

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 178 di 314

Ricerca un rettangolo di pixels per il colore del pixel fornito. PixelSearch


( sinistra, margine superiore, destra, margine inferiore, colore [, variazione
della tonalità] [, step]] )

Parametri sinistra margine superiore destra margine inferiore colore coordinata


sinistra del rettangolo. coordinata del margine superiore del rettangolo.
coordinata destra del rettangolo. coordinata del margine inferiore del rettangolo.
Valore del colore del pixel da trovare (in decimale o esadecimale).

(opzionale) Un numero tra 0 e 255 per indicare il numero permesso di variazioni di


variazione tonalità dei componenti del colore rosso, verde, e blu. Il default è 0
(corrispondenza della tonalità esatta). step (opzionale) Invece di cercare ogni
pixel usa un valore superiore a 1 per saltare pixels (per una maggiore velocità di
esecuzione). Ad es. un valore di 2 controllerà soltanto ogni altro pixel. Il
default è 1.

Valore di ritorno Successo: Ritorna un array di due elementi di coordinate di


pixel. (Array[0] = x, Array[1] = y) Insuccesso: Imposta @error a 1 se il colore
non è stato trovato.

Osservazioni La ricerca è eseguita dall'alto in basso, da sinistra a destra, ed è


restituita la prima corrispondenza. Versioni precedenti di AutoIt (prima della
v3.0.102) usavano il formato BGR per definire un colore le versioni più nuove
usano RGB per default ma questa caratteristica può essere cambiata usando
l'opzione ColorMode. Performing a search of a region can be time consuming, so use
the smallest region you are able to reduce CPU load.

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 179 di 314

ColorMode (Option), PixelChecksum, PixelGetColor, PixelCoordMode (Option)

Esempio ; Trova un pixel in puro rosso nel range 0,0-20,300 $coord = PixelSearch(
0, 0, 20, 300, 0xFF0000 ) If Not @error Then MsgBox(0, "X e Y sono:", $coord[0] &
"," & $coord[1]) EndIf ; Trova un pixel in puro rosso o un pixel rosso entro 10
variazioni di tonalità di rosso puro $coord = PixelSearch( 0, 0, 20, 300,
0xFF0000, 10 ) If Not @error Then MsgBox(0, "X e Y sono:", $coord[0] & "," &
$coord[1]) EndIf

Riferimenti alle funzioni


SetError
Imposta manualmente il valore della macro @error.

SetError ( code )

Parametri code Il valore richiesto (numero intero) per impostare la macro @error.

Valore di ritorno Nessuna.

Osservazioni Il codice @error è valido solo finchè viene chiamata la prossima


funzione. Di conseguenza, puoi aver bisogno di fare una copia di backup dello
stato di @error in una variabile se la stai testando in un loop While-Wend.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 180 di 314

Funzioni correlate Nessuna.

Esempio $result = myDiv(5, 0) If @error Then MsgBox(4096,"Error", "Divisione per


Zero") Else MsgBox(4096, "Result", $result) EndIf Exit Func myDiv($dividend,
$divisor) If $dividend = 0 And $divisor = 0 Then SetError(2) ;form indeterminata
0/0 ElseIf $divisor = 0 Then SetError(1) ;divisione per zero EndIf Return
$dividend / $divisor EndFunc

Riferimenti alle funzioni


SoundPlay
Esegue un file sonoro.

SoundPlay ( "filename" [, attesa] )

Parametri filename attesa Il nome del file che deve essere eseguito (tipicamente
un WAV o MP3) (opzionale) Questo flag determina se lo script dovrebbe attendere
che finisca il suono prima di continuare: 1 = aspetta finchè il suono finisce 0 =
continua lo script mentre il suono è in esecuzione (default)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 181 di 314

Valore di ritorno Nessun. (Ritorna sempre 1 indipendentemente dal successo.)

Osservazioni Terminare lo script interromperà il suono (se è ancora in


esecuzione).

Funzioni correlate SoundSetWaveVolume

Esempio SoundPlay("C:\Windows\media\tada.wav")

Riferimenti alle funzioni


SoundSetWaveVolume
Imposta la modulazione del volume di sistema in percentuale.

SoundSetWaveVolume ( percentuale )

Parametri percentuale Un numero percentuale compreso tra 0 e 100

Valore di ritorno Successo: Nessuno. Insuccesso: Imposta @error a 1 se la


percentuale non è valida.

Osservazioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 182 di 314

Questa funzione controlla il volume Wave, e non il controllo di volume master.


Inoltre, un valore di Zero non imposta lo stato mute.

Funzioni correlate SoundPlay

Esempio SoundSetWaveVolume(50)

Riferimenti alle funzioni


TimerDiff
Ritorna la differenza di tempo rispetto a una precedente chiamata a TimerInit().

TimerDiff ( timestamp )

Parametri timestamp timestamp ritornato da una precedente chiamata a TimerInit().

Valore di ritorno Ritorna la differenza di tempo (in millisecondi) da una


precedente chiamata a TimerInit().

Osservazioni Nessuna.

Funzioni correlate TimerInit

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 183 di 314

Esempio $begin = TimerInit() sleep(3000) $dif = TimerDiff($begin)


MsgBox(0,"Differenza di tempo",$dif)

Riferimenti alle funzioni


TimerInit
Ritorna a timestamp (in millisecondi).

TimerInit ( )

Parametri Nessuno.

Valore di ritorno Ritorna un timestamp (in millisecondi).

Osservazioni Nessuna.

Funzioni correlate TimerDiff

Esempio $begin = TimerInit() sleep(3000)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 184 di 314

$dif = TimerDiff($begin) MsgBox(0,"Differenza di Tempo",$dif)

Riferimenti alle funzioni


URLDownloadToFile
Scarica un file da internet.

URLDownloadToFile ( "URL", "filename" )

Parametri URL valuename URL del file da scaricare. Filename da scaricare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Internet Explorer 3 o successivi deve essere installato affinchè


questa funzione lavori. Firewalls o la presenza di schede di rete multiple possono
causare errori. Inoltre, alcuni siti web possono bloccare questi downloads. Il
file è ottenuto dalla cache di IE se possibile. Potresi forzare un (re)download da
internet fornendo un parametro cgi contraffatto, ad esempio:
"http://.../test.exe?fakeParam=42"

Funzioni correlate Nessuna.

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 185 di 314

URLDownloadToFile("http://www.mozilla.org", "C:\foo.html")
URLDownloadToFile("http://www.hiddensoft.com", "C:\mydownload.htm")

Riferimenti alle funzioni


MouseClick
Esegue un'operazione di mouse click.

MouseClick ( "pulsante" [, x, y [, clicks [, velocità ]]] )

Parametri pulsante x, y clicks velocità Il pulsante da cliccare, "sinistro",


"destro" o "centrale". [opzionale] Le coordinate x/y dove muovere il mouse. Se le
coordinate x e y non sono fornite, viene usata la posizione corrente. [opzionale]
Il numero di click del mouse. Il default è 1. [opzionale] la velocità con cui
muovere il mouse nel range da 1 (il più veloce) a 100 (il più lento). Una velocità
di 0 muoverà il mouse istantaneamente. La velocità di default è 10.

Valore di ritorno Nessuna.

Osservazioni Se un utente ha invertito i pulsanti primario (sinistro) e secondario


(destro), uno script può non funzionare secondo aspettative.... Vedi l'esempio per
una soluzione.

Funzioni correlate MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (Option)

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 186 di 314

; Doppio click alla posizione corrente del mouse MouseClick("left")


MouseClick("left") ; Doppio click a 0,500 MouseClick("left", 0, 500, 2) ; Versione
più sicura di doppio click a 0,500 Dim $primary Dim $secondary ;Determina se
l'utente ha invertito i pulsanti destro e sinistro del mouse $k =
RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "SwapMouseButtons") ; E' okay non
controllare l'esito dell'operazione RegRead If $k = 1 Then $primary = "right"
$secondary = "left" Else ;normale (verifica anche se non puoi leggere la chiave
del registry) $primary = "left" $secondary = "right" EndIf MouseClick($primary, 0,
500, 2) Exit

Riferimenti alle funzioni


MouseClickDrag
Esegue un'operazione di click e drag del mouse.

MouseClickDrag ( "pulsante", x1, y1, x2, y2 [,velocità] )

Parametri pulsante x1, y1 x2, y2 velocità Il pulsante da cliccare, "sinistro",


"destro" o "centrale". Le coordinate x/y da cui iniziare l'operazione di drag. Le
coordinate x/y in cui finire l'operazione di drag. [opzionale] la velocità con cui
muovere il mouse nel range da 1 (il più veloce) a 100 (il più lento). Una velocità
di 0 muoverà il mouse istantaneamente. La velocità di default è 10.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 187 di 314

Valore di ritorno Nessuna.

Osservazioni Se un utente ha invertito i pulsanti primario (sinistro) e secondario


(destro), uno script può non funzionare secondo aspettative.... Vedi l'esempio per
una soluzione.

Funzioni correlate MouseClick, MouseGetPos, MouseMove, MouseCoordMode (Option)

Esempio ; Click sinistro trascina il mouse da 0,200 a 600, 700


MouseClickDrag("left", 0, 200, 600, 700)

Riferimenti alle funzioni


MouseDown
Esegue un evento mouse down alla posizione corrente del mouse.

MouseDown ( "pulsante" )

Parametri pulsante pulsante del mouse , "sinistro", "destro", o "centrale"

Valore di ritorno Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 188 di 314

Osservazioni Vedi Osservazioni in MouseClick. Usare responsabilmente: Per ogni


MouseDown ci dovrebbe essere eventualmente un evento MouseUp.

Funzioni correlate MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode


(Option), MouseUp

Esempio MouseDown("left") Sleep(100) MouseUp("left")

Riferimenti alle funzioni


MouseGetCursor
Ritorna un numero ID del cursore corrente del Mouse.

MouseGetCursor ( )

Parametri Nessuna.

Valore di ritorno Ritorna un cursor ID Number: 0 = UNKNOWN (questo include il


puntamento delle icone "mano") 1 = APPSTARTING 2 = ARROW 3 = CROSS 4 = HELP 5 =
IBEAM 6 = ICON 7 = NO

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 189 di 314

8 = SIZE 9 = SIZEALL 10 = SIZENESW 11 = SIZENS 12 = SIZENWSE 13 = SIZEWE 14 =


UPARROW 15 = WAIT

Osservazioni Nessuna.

Funzioni correlate MouseGetPos

Esempio sleep(2000) ;lascia il tempo di muovere il mouse prima di riportare l'ID


;crea un array che fornisce informazioni sui numeri ID $IDs =
StringSplit("AppStarting|Arrow|Cross|Help|IBeam|Icon|No|_ Size|SizeAll|SizeNESW|
SizeNS|SizeNWSE|SizeWE|UpArrow|Wait", "|") $IDs[0] = "Unknown" $cursor =
MouseGetCursor() MsgBox(4096, "ID = " & $cursor, "Che significa " & $IDs[$cursor])

Riferimenti alle funzioni


MouseGetPos
Recupera la posizione corrente del cursore del mouse.

MouseGetPos ( )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 190 di 314

Nessuna.

Valore di ritorno Ritorna un array di due elementi che contiene le coordinate del
mouse: $array[0] = coordinata X (orizzontale) $array[1] = coordinata Y (verticale)

Osservazioni Vedi MouseCoordMode per l'impostazione della posizione


assoluta/relativa. Se la posizione è relativa, i numeri possono essere negativi.

Funzioni correlate MouseClick, MouseClickDrag, MouseMove, MouseCoordMode (Option)

Esempio $pos = MouseGetPos() MsgBox(0, "Mouse x,y:", $pos[0] & "," & $pos[1])

Riferimenti alle funzioni


MouseMove
Muove il puntatore del mouse.

MouseMove ( x, y [, velocità] )

Parametri x y La coordinata x dello schermo alla quale muovere il mouse. La


coordinata y dello schermo alla quale muovere il mouse. [opzionale] la velocità
con la quale muovere il mouse nel range da 1 (la più veloce)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 191 di 314

velocità

a 100 (la più lenta). Una velocità di 0 muoverà il mouse istantaneamente. La


velocità di default è 10.

Valore di ritorno Il movimento del mouse da parte dell'utente è intralciato


durante un'operazione di MouseMove non istantanea. Se MouseCoordMode imposta la
posizione relativa, i numeri possono essere negativi.

Osservazioni Nessuna.

Funzioni correlate MouseClick, MouseClickDrag, MouseGetPos, MouseCoordMode


(Option)

Esempio MouseMove(10, 100) MouseMove(700, 700, 0)

Riferimenti alle funzioni


MouseUp
Esegue un evento mouse up alla posizione corrente del mouse.

MouseUp ( "pulsante" )

Parametri pulsante pulsante del mouse: "sinistro", "destro", o "centrale"

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 192 di 314

Valore di ritorno Nessuna.

Osservazioni Vedi le Osservazioni su MouseClick! Per ogni MouseDown ci dovrebbe


essere eventualmente un evento MouseUp.

Funzioni correlate MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode


(Option), MouseDown

Esempio MouseDown("left") Sleep(100) MouseUp("left")

Riferimenti alle funzioni


MouseWheel
Muove la rotellina del mouse su o giù. SOLO NT/2000/XP.

MouseWheel ( "direzione" [, clicks] )

Parametri direzione clicks "up" o "down" [opzionale] Il numero di volte con cui
muovere la rotellina. Il default è 1.

Valore di ritorno Nessuno.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 193 di 314

Osservazioni Questa funzione opera solo su NT, 2000, XP e sistemi operativi


successivi.

Funzioni correlate MouseClick, MouseClickDrag, MouseGetPos, MouseMove,


MouseCoordMode (Option)

Esempio ; Muove la rotellina su 10 volte MouseWheel("up", 10)

Riferimenti alle funzioni


ProcessClose
Termina un dato processo.

ProcessClose ( "processo" )

Parametri processo Il titolo o PID del processo da terminare.

Valore di ritorno Nessuno. (Ritorna 1 indipendentemente da successo/insuccesso.)

Osservazioni I nomi di Processo sono eseguibili senza il path completo, ad es.,


"notepad.exe" o "winword.exe" Se processi multipli hanno lo stesso nome, quello
con il PID più alto sarà terminato-indipendentemente da quanto di recente il
processo è stato riprodotto.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 194 di 314

PID è un numero univoco che identifica un Processo. Un PID può essere ottenuto con
i comandi ProcessExists o Run. Al fine di funzionare sotto Windows NT 4.0,
ProcessWaitClose richiede il file PSAIP.DLL (incluso nella directory di
installazione di AutoIt). Il processo è sondato approssimativamente ogni 250
millisecondi.

Funzioni correlate ProcessExists, ProcessWait, ProcessWaitClose, Run, WinClose

Esempio ProcessClose("notepad.exe") $PID = ProcessExists("notepad.exe") ;


Ritornerà il PID o 0 se il processo non viene trovato. If $PID Then
ProcessClose($PID)

Riferimenti alle funzioni


ProcessExists
Verifica se uno specifico processo esiste.

ProcessExists ( "processo" )

Parametri processo Il nome o PID del processo da verificare.

Valore di ritorno Successoo: Ritorna il PID del processo. Insuccesso:Ritorna 0 se


il processo non esiste.

Osservazioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 195 di 314

I nomi di Processo sono eseguibili senza il path completo, ad es., "notepad.exe" o


"winword.exe" PID è un numero univoco che identifica un Processo. Un PID può
essere ottenuto con i comandi ProcessExists o Run. Al fine di funzionare sotto
Windows NT 4.0, ProcessWaitClose richiede il file PSAIP.DLL (incluso nella
directory di installazione di AutoIt). Il processo è sondato approssimativamente
ogni 250 millisecondi.

Funzioni correlate ProcessClose, ProcessWait, ProcessWaitClose, WinExists

Esempio If ProcessExists("notepad.exe") Then MsgBox(0, "Esempio", "Notepad è in


esecuzione.") EndIf

Riferimenti alle funzioni


ProcessSetPriority
Cambia la priorità di un processo

ProcessSetPriority ( "processo", priorità)

Parametri processo Il nome o PID del processo da controllare. Un flag che


determina quale priorità impostare 0 - Idle/Low 1 - Below Normal (Non supportato
su Windows 95/98/ME) 2 - Normal 3 - Above Normal (Non supportato su Windows
95/98/ME) 4 - High 5 - Realtime (Usalo con attenzione, può rendere instabile il
sistema)

priorità

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 196 di 314

Successo: Ritorna 1. Insuccesso: Ritorna 0 e imposta @error a 1. Può impostare


@error a 2 se tenti di usare una classe di priorità non supportata.

Osservazioni Le classi di priorità Above Normal e Below Normal pnon sono


supportate su Windows 95/98/ME. Se provi a usarle su quelle piattaforme platforms,
la funzione fallirà e @error sarà impostato a 2.

Funzioni correlate

Esempio Run("Notepad.exe") ProcessSetPriority("notepad.exe", 0) ; Notepad dovrebbe


avere ora la priorità Idle/Low

Riferimenti alle funzioni


ProcessWait
Mette in pausa l'esecuzione d uno script fino a che un dato processo esiste.

ProcessWait ( "processo" [, timeout] )

Parametri processo timeout Il nome del processo da verificare. [opzionale]


Specifica quanto tempo aspettare (il default è aspettare indefinitamente).

Valore di ritorno Successo: Ritorna 1. Insuccesso:Ritorna 0 if l'attesa va oltre


il timeout.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 197 di 314

Osservazioni I nomi di Processo sono eseguibili senza il path completo, ad es.,


"notepad.exe" o "winword.exe" Al fine di funzionare sotto Windows NT 4.0,
ProcessWait richiede il file PSAIP.DLL (incluso nella directory di installazione
di AutoIt). Questa funzione è la sola funzione di processo a non accettare un PID.
Poichè i PIDs sono allocati dinamicamente, attendere che un particolare PID esista
non ha senso. Il processo è sondato approssimativamente ogni 250 millisecondi.

Funzioni correlate ProcessClose, ProcessExists, ProcessWaitClose, RunWait,


WinWait, WinWaitActive

Esempio ProcessWait("notepad.exe")

Riferimenti alle funzioni


ProcessWaitClose
Mette in pausa l'esecuzione di uno script fino a che un dato processo non esiste
più.

ProcessWaitClose ( "processo" [, timeout] )

Parametri processo timeout Il nome o PID del processo da verificare. [opzionale]


Specifica quanto tempo attendere (il default è aspettare indefinitamente).

Valore di ritorno Successo: Ritorna 1. Insuccesso:Ritorna 0 if l'attesa va oltre


il timeout.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 198 di 314

Osservazioni I nomi di Processo sono eseguibili senza il path completo, ad es.,


"notepad.exe" o "winword.exe" PID è un numero univoco che identifica un Processo.
Un PID può essere ottenuto con i comandi ProcessExists o Run. AAl fine di
funzionare sotto Windows NT 4.0, ProcessWait richiede il file PSAIP.DLL (incluso
nella directory di installazione di AutoIt). Il processo è sondato
approssimativamente ogni 250 millisecondi.

Funzioni correlate ProcessClose, ProcessExists, ProcessWaitClose, RunWait,


WinWaitClose

Esempio ;aspetta fino a che non ci sono più istanze di notepad.exe


ProcessWaitClose("notepad.exe") ; Questa istruzione aspetterà finchè questa
particolare istanza di notepad sarà chiusa $PID = Run("notepad.exe")
ProcessWaitClose($PID)

Riferimenti alle funzioni


Run
Esegue un programma esterno.

Run ( "filename" [, "workingdir" [, flag]] )

Parametri filename workingdir flag Il nome dell'eseguibile (EXE, BAT, COM, o PIF)
da avviare. [opzionale] La directory di lavoro. [opzionale] Il flag "visualizza"
del programma eseguito: @SW_HIDE = Finestra nascosta @SW_MINIMIZE = Finestra
Minimizzata @SW_MAXIMIZE = Finestra Massimizzata

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 199 di 314

Valore di ritorno Successo : Il PID del processo che è stato attivato. Insuccesso:
Dipende da RunErrorsFatal; vedi Osservazioni.

Osservazioni Per eseguire comandi DOS (console), prova RunWait(@ComSpec & " /c " &
'commandName', "", @SW_HIDE) Dopo l'esecuzione del programma richiesto lo script
continua. Per mettere in pausa l'esecuzione dello script until il programma
attivato ha finito usa la funzione RunWait. Per default lo script terminerà con un
fatal error se la funzione Run fallisce. Per impostare @error a 1 come indicazione
dell'insuccesso, vedi AutoItSetOption.

Funzioni correlate RunAsSet, RunErrorsFatal (Option), RunWait

Esempio Run("Notepad.exe", "", @SW_MAXIMIZE)

Riferimenti alle funzioni


RunAsSet
Inizializza un insieme di credenziali utente da usare durante operazioni Run e
RunWait. SOLO 2000/XP o successivi.

RunAsSet ( ["utente", "dominio", "password"] [, opzioni])

Parametri username dominio password Il nome utente da usare. Il nome dominio da


usare. La password da usare.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 200 di 314

opzioni

[opzionale] 0 = non carica il profilo utente, 1 = (default) carica il profilo


utente, 2 = usalo solo per credenziali di rete

Valore di ritorno Ritorna 0 se il sistema operativo non supporta questa funzione.


Altrimenti ritorna 1--indipendentemente dal successo. (Se le informazioni di login
non sono valide, comandi successivi Run/RunWait falliranno....)

Osservazioni Questa funzione consente che funzioni Run e RunWait successive siano
eseguite con un utente differente (ad es. Administrator). La funzione lavora solo
su piattaforme 2000/XP (o successive). Utenti NT4 dovrebbero installare e usare il
comando SU dal Resource Kit NT. Il "Secondary Logon service" o "RunAs service" non
deve essere disabilitato se vuoi che questa funzione lavori. Per rimuovere
l'impostazione dei dettagli di RunAs, usa la funzione senza parametri: RunAsSet().

Funzioni correlate RunAsSet, RunErrorsFatal (Option), RunWait

Esempio ; Imposta i parametri RunAs per usarli con un account di amministratore


locale RunAsSet("Administrator", @Computername, "adminpassword") ; Esegue l'editor
del registry come admin RunWait("regedit.exe") ; Reset dei permessi dell'utente
RunAsSet()

Riferimenti alle funzioni


RunWait
Esegue un programma esterno e mette in pausa l'esecuzione dello script finchè il
programma finisce.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 201 di 314

RunWait ( "filename" [, "workingdir" [, flag]] )

Parametri filename workingdir flag Il nome dell'eseguibile (EXE, BAT, COM, o PIF)
da avviare. [opzionale] La directory di lavoro. [opzionale] Il flag "visualizza"
del programma eseguito: @SW_HIDE = Finestra nascosta @SW_MINIMIZE = Finestra
Minimizzata @SW_MAXIMIZE = Finestra Massimizzata

Valore di ritorno Successo: Ritorna il codice di uscita del programma che è stato
eseguito. Insuccesso: Dipende da RunErrorsFatal; vedi Osservazioni.

Osservazioni Per eseguire comandi DOS (console), prova RunWait(@ComSpec & " /c " &
'commandName', "", @SW_HIDE) Dopo aver eseguito il programma richiesto lo script
fa una pausa finchè il programma termina. Per eseguire un programma e continuare
immediatamente l'esecuzione dello script usa la funzione Run. Alcuni programmi
sembreranno terminare immediatamente anche se sono ancora in esecuzione; questi
programmi attivano altri processi - puoi essere in grado di usare la funzione
ProcessWaitClose per gestire questi casi. Per default lo script terminerà con un
errore fatale se la funzione Run fallisce. Per impostare @error a 1 come
indicazione dell'insuccesso, vedi AutoItSetOption.

Funzioni correlate ProcessWait, ProcessWaitClose, RunAsSet, RunErrorsFatal


(Option), RunWait

Esempio $val = RunWait("Notepad.exe", "C:\WINDOWS", @SW_MAXIMIZE) ; lo script


aspetta finchè Notepad chiude

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 202 di 314

MsgBox(0, "Il programma è terminato con l'exit code:", $val)

Riferimenti alle funzioni


Shutdown
Arresta il sistema.

Shutdown ( codice )

Parametri codice Una combinazione di codici di shutdown. Vedi "Osservazioni".

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Il codice di shutdown è una combinazione dei valori seguenti: 0 =


Logoff 1 = Shutdown 2 = Reboot 4 = Force 8 = Power down Aggiungi i valori
richiesti insieme. Per chiudere il sistema e spegnere la corrente, ad esempio, il
codice dovrebbe essere 9 (shutdown + power down = 1 + 8 = 9). Gli stati di Standby
o hibernate possono essere ottenuti con software di terze parti come ad esempio
http://grc.com/wizmo/wizmo.htm

Funzioni correlate ProcessClose

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 203 di 314

Esempio Shutdown(6) ;Forza un reboot

Riferimenti alle funzioni


Sleep
Mette in pausa l'esecuzione di uno script.

Sleep ( ritardo )

Parametri ritardo L'ammontare di tempo della pausa (in millisecondi).

Valore di ritorno Nessuno.

Osservazioni Il tempo massimo di pausa è 2147483647 millisecondi (24 giorni).

Funzioni correlate Nessuna.

Esempio Sleep(5000) ;cinque secondi

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 204 di 314

Riferimenti alle funzioni


RegDelete
Cancella una Chiave o valore dal registry.

RegDelete ( "keyname" [, "valuename"] )

Parametri keyname valuename La chiave da scrivere nel registry. [opzionale] Il


valore da cancellare.

Valore di ritorno Successo: Ritorna 1. Special: Ritorna 0 se la chiave/valore non


esiste. Insuccesso: Ritorna 2 se si verifica un errore cancellando la
chiave/valore.

Osservazioni Una chiave di registry deve cominciare con "HKEY_LOCAL_MACHINE"


("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU")o
"HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC"). Per accedere al
valore di (Default) usa "" (una stringa vuota) come valuename. Cancellare dal
registry è potenzialmente pericoloso--vi prego di farlo con cautela! E' possibile
accedere a Registry remoti usando una keyname nella forma
"\\computername\keyname". Per usare questa caratteristica devi avere i corretti
diritti di accesso su NT/2000/XP/2003, o se stai usando un OS basato su 9x il PC
remoto PC deve avere il servizio di Registry remoto installato per primo (Vedi
Microsoft Knowledge Base Article - 141460).

Funzioni correlate RegRead, RegWrite

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 205 di 314

Esempio RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey")

Riferimenti alle funzioni


RegEnumKey
Legge il nome di una subkey in base alla sua istanza.

RegEnumKey ( "keyname", istanza )

Parametri keyname istanza La chiave del registry da leggere. L'istanza della


chiave in base 1 da recuperare

Valore di ritorno Successo: Ritorna il nome della subkey richiesta. Insuccesso:


Ritorna "" e imposta il flag @error: 1 se non è possibile aprire la chiave
richiesta -1 se non è possibile recuperare la subkey (istanza della fuori range)

Osservazioni Una chiave del registry key deve cominciare con "HKEY_LOCAL_MACHINE"
("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU") o
"HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC").

Funzioni correlate RegEnumVal, RegDelete, RegWrite, StringSplit

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 206 di 314

$var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", 1) MsgBox(4096, "Prima SubKey


sotto HKLM\Software: ", $var) $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", 2)
MsgBox(4096, "Seconda SubKey sotto HKLM\Software: ", $var)

Riferimenti alle funzioni


RegEnumVal
Legge il nome di un valore in base alla sua istanza.

RegEnumVal ( "keyname", istanza )

Parametri keyname istanza La chiave del Registry da leggere. Il valore


dell'istanza in base 1 da recuperare

Valore di ritorno Successo: Ritorna il nome del valore richiesto. Insuccesso:


Ritorna "" e imposta il flag @error: 1 se non può aprire la chiave richiesta -1 se
non può recuperare il valore richiesto (istanza del valore fuori range)

Osservazioni Una chiave del registry key deve cominciare con "HKEY_LOCAL_MACHINE"
("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU") o
"HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC").

Funzioni correlate RegEnumKey, RegDelete, RegWrite, StringSplit

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 207 di 314

Esempio $var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\HiddenSoft\AutoIt3", 1)


MsgBox(4096, "Primo Value Name sotto AutoIt3 key", $var) $var =
RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\HiddenSoft\AutoIt3", 2) MsgBox(4096,
"Secondo Value Name sotto AutoIt3 key: ", $var)

Riferimenti alle funzioni


RegRead
Legge un valore dal registry.

RegRead ( "keyname", "valuename" )

Parametri keyname valuename La chiave del registry da leggere. Il valore da


leggere.

Valore di ritorno Successo: Ritorna il valore del registry richiesto. Insuccesso:


Ritorna 1 e imposta il flag @error: 1 se non è possibile aprire la chiave
richiesta -1 se non è possibile aprire il valore richiesto -2 se il valore è di un
tipo non supportato

Osservazioni Una chiave del registry key deve cominciare con "HKEY_LOCAL_MACHINE"
("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU") o
"HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC"). AutoIt supporta
chiavi di registry di tipo REG_BINARY, REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, e
REG_DWORD. Per accedere al valore di (Default) usa "" (una stringa vuota) come
valorename. Quando leggi una chiave di tipo REG_BINARY il risultato è una stringa
di caratteri esadecimali, ad

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 208 di 314

es. il valore REG_BINARY di 01,a9,ff,77 sarà letto come stringa "01A9FF77". Quando
leggi una chiave di tipo REG_MULTI_SZ i record multipli sono separati da @LF - usa
con StringSplit(..., @LF) per ottenere ogni record. E' possibile accedere a
Registry remoti usando una keyname nella forma "\\computername\keyname". Per usare
questa caratteristica devi avere i corretti diritti di accesso su NT/2000/XP/2003,
o se stai usando un OS basato su 9x il PC remoto PC deve avere il servizio di
Registry remoto installato per primo (Vedi Microsoft Knowledge Base Article -
141460).

Funzioni correlate RegDelete, RegWrite, StringSplit

Esempio $var =
RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion",
"ProgramFilesDir") MsgBox(4096, "Program files sono in:", $var)

Riferimenti alle funzioni


RegWrite
Crea una chiave o valore nel registry.

RegWrite ( "keyname", ["valuename", "tipo", valore] )

Parametri keyname valuename tipo valore La chiave del registry da scrivere. Se


nessun altro parametro è specificato questa chiave sarà semplicemente creata. Il
valore da scrivere. Tipo di chiave da scrivere: "REG_SZ", "REG_MULTI_SZ",
"REG_EXPAND_SZ", "REG_DWORD", o "REG_BINARY". Il valore da scrivere.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 209 di 314

Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verifica un errore scrivendo una


chiave o valore nel registry.

Osservazioni Una chiave di registry deve cominciare con "HKEY_LOCAL_MACHINE"


("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU")o
"HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC"). AutoIt supporta
chiavi di registry di tipo REG_BINARY, REG_DWORD, REG_SZ, REG_MULTI_SZ e
REG_EXPAND_SZ. Per accedere al valore di (Default) usa "" (una stringa vuota) come
valuename. Quando leggi una chiave di tipo REG_BINARY il risultato è una stringa
di caratteri esadecimali, ad es. il valore REG_BINARY di 01,a9,ff,77 sarà letto
come stringa "01A9FF77". Quando leggi una chiave di tipo REG_MULTI_SZ i record
multipli sono separati da @LF - usa con StringSplit(..., @LF) per ottenere ogni
record. E' possibile accedere a Registry remoti usando una keyname nella forma
"\\computername\keyname". Per usare questa caratteristica devi avere i corretti
diritti di accesso su NT/2000/XP/2003, o se stai usando un OS basato su 9x il PC
remoto PC deve avere il servizio di Registry remoto installato per primo (Vedi
Microsoft Knowledge Base Article - 141460).

Funzioni correlate RegDelete, RegRead

Esempio ; Write a single REG_SZ valore RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE",


"TestKey", "REG_SZ", "Ciao questo è un test") ; Write the REG_MULTI_SZ valore of
"line1" e "line2" RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey",
"REG_MULTI_SZ", "line1" & @LF & "line2") ; Uso NON CORRETTO di REG_MULTI_SZ
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey", "REG_MULTI_SZ", "line1" & @LF &
"line2" & @LF) RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey", "REG_MULTI_SZ",
"line1" & @LF & @LF & "line2" & @LF)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 210 di 314

Riferimenti alle funzioni


StringAddCR
Prende una stringa e prefissa tutti i caratteri linefeed ( Chr(10) ) con un
carattere carriage return ( Chr (13) ).

StringAddCR ( "stringa" )

Parametri stringa La stringa da convertire.

Valore di ritorno Ritorna la stringa con tutte le istanze di caratteri linefeed


( @LF ) prefissate con un carattere carriage return ( @CR ).

Osservazioni Nessuna.

Funzioni correlate StringStripCR, StringReplace

Esempio $old = "Notepad" & @LF & "è in attesa di testo" & @LF & "CRLF." $new =
StringAddCR($old)

Riferimenti alle funzioni


StringInStr

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 211 di 314

Verifica se una stringa contiene una data substringa.

StringInStr ( "stringa ", "substringa" [, casesense[, occorrenza]] )

Parametri stringa substringa casesense La stringa da valutare. La substringa da


cercare. [opzionale] Il flag per indicare se le operazioni dovrebbero essere
sensibili al carattere (min/maiusc.). 0 = non sensibili al carattere (default) 1 =
sensibili al carattere [opzionale] Quale occorrenza della sottostringa deve essere
trovata nella stringa. Usa un'occorrenza negativa per cercare dal lato destro. Il
valore di default è 1 (trova la prima occorrenza).

occurance

Valore di ritorno Successo: Ritorna la posizione della substringa. Insuccesso:


Ritorna 0 se la substringa non è stata trovata. @Error 0 - Operazione normale 1 -
L'occorrenza era 0. L'occorrenza deve essere un numero intero positivo o negativo.

Osservazioni La posizione dl primo carattere è 1. Se l'occorrenza è fornita, deve


essere anche fornito casesense.

Funzioni correlate String, StringLeft, StringLen, StringLower, StringMid,


StringRight, StringTrimLeft, StringTrimRight, StringUpper

Esempio $result = StringInStr("I am a String", "RING") MsgBox(0, "Risultato della


ricerca:", $result)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 212 di 314

$location = StringInStr("How much wood could a woodchuch chuch is a woodchuck


could chuck wood?", "wood", 0, 3) ; Trovata la terza occorrenza di "wood"

Riferimenti alle funzioni


StringIsAlNum
Verifica se una stringa contiene solo caratteri alfanumerici.

StringIsAlNum ( "stringa" )

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri non alfanumerici.

Osservazioni Tieni presente che ogni carattere whitespace (carriage return, tab,
line feed,...) causerà il fatto che StringIsAlNum ritorni 0.

Funzioni correlate StringIsAlpha, StringIsASCII, StringIsDigit, StringIsLower,


StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Esempio $x = "Questa è una frase con whitespace." MsgBox(0,"StringIsAlNum


ritorna:", StringIsAlNum($x))

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 213 di 314

Riferimenti alle funzioni


StringIsAlpha
Verifica se una stringa contiene solo caratteri alfabetici.

StringIsAlpha ( "stringa" )

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri non alfabetici.

Osservazioni Tieni presente che ogni carattere whitespace (carriage return, tab,
line feed,...) causerà il fatto che StringIsAlpha ritorni 0.

Funzioni correlate StringIsAlNum, StringIsASCII, StringIsDigit, StringIsLower,


StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Esempio $x = "Questa è una frase con whitespace." MsgBox(0,"StringIsAlpha


ritorna:", StringIsAlpha($x))

Riferimenti alle funzioni


StringIsASCII

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 214 di 314

Verifica se una stringa contiene solo caratteri ASCII nel range 0x00 - 0x7f (0 -
127).

StringIsASCII ( "stringa " )

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri ASCII estesi.

Osservazioni Nessuna.

Funzioni correlate StringIsAlNum, StringIsAlpha, StringIsDigit, StringIsLower,


StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Esempio $x = StringIsASCII("Questa è una frase.") MsgBox(0,"StringIsASCII


ritorna:", $x)

Riferimenti alle funzioni


StringIsDigit
Verifica se una stringa contiene solo cifre (0-9).

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 215 di 314

StringIsDigit ( "stringa " )

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri non numerici.

Osservazioni Vedi gli esempi.

Funzioni correlate StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsLower,


StringIsSpace, StringIsUpper, StringIsXDigit

Esempio StringIsDigit("12333") ;returns 1 StringIsDigit("1.5") ;ritorna 0 a causa


del punto decimale StringIsDigit("1 2 3") ;returns 0 a causa di caratteri
whitespace StringIsDigit("") ;ritorna 1

Riferimenti alle funzioni


StringIsFloat
Verifica se a stringa is a floating point numero.

StringIsFloat ( "stringa " )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 216 di 314

Parametri stringa The stringa or espressione da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se not floating point


format.

Osservazioni A stringa is a float se it contiene at least one decimal digit e


exactly one period; the only other character allowed is an opzionale plus or minus
at the beginning. (StringIsFloat does not accept a comma character as the decimal
point even se the computer Locale settings use that symbol.) If parametro is not a
stringa , its valore is convertito to a stringa . See examples.

Funzioni correlate StringIsInt, IsFloat

Esempio StringIsFloat("1.5") ;returns 1 StringIsFloat("7.") ;returns 1 since


contiene decimal StringIsFloat("-.0") ;returns 1 StringIsFloat("3/4") ;returns 0
since '3' slash '4' is not a float StringIsFloat(1.5) StringIsFloat(1.0) ;returns
1 since 1.5 convertito to stringa contain . ;returns 0 since 1.0 convertito to
stringa does not contain .

Riferimenti alle funzioni


StringFormat
Ritorna una stringa formattata (simile alla funzione C sprintf()). StringFormat
( "formato di controllo", $var1 [, ... $var32] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 217 di 314

Parametri formato di controllo Il formato e i flags da usare (vedi Osservazioni).

$var1...$var32 Fino a 32 variabili che saranno prodotte in output in base al


"formato di controllo".

Valore di ritorno Ritorna la stringa formattata in base al "formato della


variabile" definito nel parametro "formato di controllo".

Osservazioni Per prevenire un buffer overflow, ogni "variabile" è limitata a 65535


caratteri. "Il formato della variabile" è; %[flags] [larghezza] [.precisione] tipo
Specifica della larghezza Il secondo campo opzionale della specifica di formato è
la specifica della larghezza. L'argomento larghezza è un numero intero decimale
non negativo che controlla il minimo numero di caratteri stampati. Se il numero di
caratteri nel valore di output è minore della larghezza specificata, caratteri
blanks vengono aggiunti alla sinistra o alla destra dei valori — dipende se il
flag (per allineamento a sinistra) è specificato — finchè la larghezza minima è
raggiunta. Se la larghezza è prefissata con 0, vengono aggiunti zero finchè la
larghezza minima viene raggiunta (non utile per numeri allineati a sinistra). La
specifica della larghezza non causa mai il fatto che un valore sia troncato. Se il
numero di caratteri nel valore di output è più grande della larghezza specificata,
o se la larghezza non è fornita, tutti i caratteri del valore sono stampati
(soggetti alla esattezza della specifica). Tipo do specifica Tipo Tipo di
variabile d, i Numero o Numero u Numero x Numero X Numero e Float Formato
dell'output numero decimale con segno. Numero in base otto senza segno. Numero
decimale senza segno. Numero esadecimale senza segno, che usa "abcdef". Numero
esadecimale senza segno, che usa "ABCDEF". Valore con segno che ha la forma [ - ]
d.dddd e [sign]ddd dove d è una cifra decimale singola, dddd è uno o più numeri
decimali, ddd è esattamente tre numeri decimali, e sign è + o -.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 218 di 314

E f

Float Float

Float

G s

Float String

Identico al formato e eccetto che E piuttosto che e introduce l'esponente. Valore


con segno che ha la forma [ - ]dddd.dddd, dove dddd è uno o più numeri decimali. I
numeri di cifre prima del punto decimale dipendono dalla grandezza del numero, e
il numero di cifre dopo il punto decimale dipende dalla precisione richiesta.
Valore con segno stampato in formato f o e, qualunque altro è più compatto per il
dato valore e precisione. Il formato e è usato solo quando l'esponente del valore
è minore di -4 o più grade o uguale all'argomento precisione. Zero finali vengono
troncati, e il punto decimale appare solo se una o più cifre lo seguono. Identico
al formato g, eccetto che E, piuttosto che e, introduce l'esponente (dove
appropriato). Stringa.

Specifica del Flag Flag Significato Allinea a sinistra il risultato entro la


larghezza del dato campo. Prefissa il valore dell'output con un segno (+ o -) se
il valore + dell'output è di tipo signed. Se larghezza è prefissata con 0, zeri
sono aggiunti finchè la minima larghezza viene raggiunta. Se 0 e - appaiono, il 0
è 0 ignorato. Se 0 è specificato con un formato numero (i, u, x, X, o, d) il 0
viene ignorato. Prefissa il valore di output con un blank se il valore di output
Blank è con segno e positivo; il blank è ignorato se entrambi iflags blank e +
appaiono. Quando usato con il formato o, x, o X, il flag # prefissa ogni # valore
di output nonzero con 0, 0x, o 0X, rispettivamente. # Default Allinea a destra.
Sign appare solo per valori negativi con segno (-). Nessun riempimento.

Nessun blank compare. Nessun blank compare.

Il punto decimale appare solo Quando usato con il formato e, E, o f, il flag #


forza il valore se ci sono cifre che lo di output a contenere un punto decimale in
tutti i casi. seguono. Quando usato con il formato g o G, il flag # flag forza il
Il punto decimale appare solo valore di output a contenere un punto decimale in
tutti i casi e se ci sono cifre che lo previene il troncamento di zero finali.
seguono. Zero finali sono Ignorato se usato con c, d, i, u, o s. troncati.
Specifica di precisione

Il terzo campo opzionale della specifica di formato è la specifica di prcisione.


Specifica un numero decimale non egativo , preceduto da un punto (.), che
specifica il numero di caratteri da stampare, il numero di posizioni decimali, o
il numero di cifre significative (Vedi la tabella di seguito). A differenza della
specifica di larghezza, la specifica di precisione può causare sia troncamento del
valore di output o arrotondamento del valore floating-point. Se la precisione è
specificata come 0 e il valore che deve essere convertito è 0,il risultato è che
non ci sono caratteri in output, come mostrato sotto: printf( "%.0d", 0 ); /*
Nessun carattere in output */ Come Valori di precisione influenzano il tipo

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 219 di 314

Tipo Significato La precisione specifica il minimo numero di cifre che devono


essere stampate. Se il numero di cifre d, i, u, nell'argomento è minore della
precisione, il valore o, x, dell'output è riempito a sinistra con zero. Il valore
non X viene troncato quando il numero di cifre eccede la precisione.

Default

La precisione di default è 1.

e, E

g, G

La precisione di default è 6; se la La precisione specifica il numero di cifre che


devono precisione è 0 o il punto (.) appare senza un numero essere stampate dopo
il punto decimale. L'ultima cifra stampata è arrotondata. seguente, nessun punto
decimale viene stampato. La precisione di default è 6; se la Il valore precisione
specifica il numero di cifre dopo il precisione è 0, o se il punto (.) punto
decimale. Se un punto decimale appare, almeno una appare senza un numero cifra
appare prima di esso. Il valore è arrotondato seguente, nessun punto decimale
all'appropriato numero di cifre. viene stampato. Sei cifre significative vengono
La precisione specifica il massimo numero di cifre stampate, con ogni zero finale
significative stampate. troncato. La precisione specifica il massimo numero di
caratteri che I caratteri sono stampati finchè un devono essere stampati. I
caratteri in eccesso di precisione carattere null viene incontrato. non sono
stampati.

Funzioni correlate Nessuna.

Esempio $stringa = "stringa " $float = 12.3 $int = 345 $s =StringFormat ( "var1=%s
var2=%.2f, var3=%d" ,$stringa , $float, $int ) $msgbox(0, "Result", $s) ; mostrerà
in output "var1=stringa var2=12.30 var3=345" ; nota il 12.30 fatto con il %.2f che
forza 2 cifre dopo il punto decimale

Riferimenti alle funzioni


StringIsInt
Verifica se una stringa è an numero intero.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 220 di 314

StringIsInt ( "stringa " )

Parametri stringa La stringa da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa non può


essere un numero intero.

Osservazioni StringIsInt ritorna 1 anche per espressioni non-stringa con un numero


intero; comunque, StringIsInt ritorna 0 per espressioni esadecimali come "4ff0". I
soli caratteri non numerici consentiti sono i segni più o meno all'inizio della
stringa.

Funzioni correlate StringIsFloat, StringIsDigit, IsInt

Esempio StringIsInt("+42") ;ritorna 1 StringIsInt("-00") ;ritorna 1


StringIsInt("1.0") ;ritorna 0 a causa del punto decimale StringIsInt(1.0) ;ritorna
1 a causa della conversione numero-stringa StringIsInt("1+2") ;ritorna 0 a causa
del segno più

Riferimenti alle funzioni


StringIsLower
Verifica se una stringa contiene solo caratteri minuscoli.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 221 di 314

StringIsLower ( "stringa " )

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri non minuscoli.

Osservazioni Nota che cifre/punteggiatura/whitespace causeranno il fatto che


StringIsLower ritorni 0.

Funzioni correlate StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit,


StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Esempio If StringIsInt("abcfoo") Then MsgBox(0, "Risultato:", "La stringa contiene


solo caratteri minuscoli" EndIf

Riferimenti alle funzioni


StringIsSpace
Verifica se a stringa contiene solo caratteri whitespace.

StringIsSpace ( "stringa " )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 222 di 314

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri diversi da whitespace.

Osservazioni Whitespace include caratteri da Chr(9) a Chr(13) che sono


HorizontalTab, LineFeed, VerticalTab, FormFeed, e CarriageReturn. Whitespace
include anche la stringa null ( Chr(0) ) e il carattere space standard
( Chr(32) ).

Funzioni correlate StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit,


StringIsLower, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Esempio $x = " " & @LF & Chr(11) & @TAB & " " & @CRLF If StringIsSpace($x) Then
MsgBox(0,"", "La stringa contiene solo caratteri whitespace.") EndIf

Riferimenti alle funzioni


StringIsUpper
Verifica se una stringa contiene solo caratteri maiuscoli.

StringIsUpper ( "stringa " )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 223 di 314

Parametri stringa La stringa da verificare

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri non maiuscoli.

Osservazioni Nota che cifre/caratteri di punteggiatura/whitespace causeranno il


fatto che StringIsUpper ritorni 0.

Funzioni correlate StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit,


StringIsLower, StringIsSpace, StringIsXDigit, StringUpper, StringLower

Esempio If StringIsInt("ABCDF") Then MsgBox(4096,"", "La stringa contiene solo


caratteri MAIUSCOLI" EndIf

Riferimenti alle funzioni


StringIsXDigit
Verifica se una stringa contiene solo caratteri esadecimali (0-9, A-F).

StringIsXDigit ( "stringa " )

Parametri stringa La stringa da verificare

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 224 di 314

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la stringa


contiene caratteri non esadecimali.

Osservazioni Caratteri validi sono 0123456789abcdefABCDEF Nota che una stringa


contenente whitespace o il prefisso "0x" causerà il fatto che StringIsXDigit
ritorni 0.

Funzioni correlate StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit,


StringIsLower, StringIsSpace, StringIsUpper, StringUpper, StringLower

Esempio StringIsXDigit("00FC") StringIsXDigit("2570") StringIsXDigit("a cafe")


StringIsXDigit(1 + 2.0) ;ritorna 1 ;ritorna 1 ;ritorna 0 a causa di caratteri
space ;ritorna 1 a causa della conversione numero-stringa

Riferimenti alle funzioni


StringLeft
Ritorna un numero di caratteri a partire dalla sinistra di una stringa.

StringLeft ( "stringa ", contatore )

Parametri stringa contatore La stringa da valutare. Il numero di caratteri da


ottenere.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 225 di 314

Valore di ritorno Ritorna una stringa contenente un determinato numero di


caratteri più a sinistra di una stringa.

Osservazioni Se il contatore eccede la lunghezza della stringa o se il contatore è


negativo, l'intera stringa sarà ritornata.

Funzioni correlate String, StringInStr, StringLen, StringLower, StringMid,


StringRight, StringTrimLeft, StringTrimRight, StringUpper

Esempio $result = StringLeft("Io sono una stringa ", 3) MsgBox(0, "I 3 caratteri
più a sinistra sono:", $result)

Riferimenti alle funzioni


StringLen
Ritorna il numero di caratteri in una stringa.

StringLen ( "stringa " )

Parametri stringa La stringa da valutare.

Valore di ritorno Ritorna la lunghezza di una stringa.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 226 di 314

Osservazioni Un'espressione numerica è automaticamente valutata e convertita in


una stringa.

Funzioni correlate String, StringInStr, StringLeft, StringLower, StringMid,


StringRight, StringTrimLeft, StringTrimRight, StringUpper

Esempio $len = StringLen("Quanto sono lunga?") MsgBox(0, "La lunghezza della


stringa è:", $len)

Riferimenti alle funzioni


StringLower
Converte una stringa in caratteri minuscoli.

StringLower ( "stringa " )

Parametri stringa La stringa da convertire.

Valore di ritorno Ritorna la stringa convertita in caratteri minuscoli.

Osservazioni Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 227 di 314

Funzioni correlate StringIsLower, StringIsUpper, String, StringInStr, StringLeft,


StringLen, StringMid, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Esempio $var = StringLower("Io sono una Stringa") MsgBox(0, "La stringa convertita
in caratteri minuscoli è:", $var)

Riferimenti alle funzioni


StringMid
Estrae un numero di caratteri da una stringa.

StringMid ( "stringa ", start, contatore )

Parametri stringa start contatore La stringa da valutare. La posizione del


carattere da cui iniziare (1 = primo carattere) Il numero di caratteri da
estrarre.

Valore di ritorno Ritorna la stringa estratta.

Osservazioni Se start è fuori dai margini della stringa, viene ritornata una
stringa vuota. Se start è valida ma il contatore è fuori dai margini, viene
ritornata l'intera rimanenza della stringa.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 228 di 314

Funzioni correlate String, StringInStr, StringLeft, StringLen, StringLower,


StringRight, StringTrimLeft, StringTrimRight, StringUpper

Esempio $var = StringMid("Io sono una stringa ", 3, 2) MsgBox(0, "I 2 caratteri
estratti dalla posizione 3 sono:", $var)

Riferimenti alle funzioni


StringReplace
Sostituisce sottostringhe in una stringa.

StringReplace ( "stringa ", "searchstring", "replacestring" [, contatore [,


casesense]] )

Parametri stringa searchstring La stringa da valutare. La sottostringa da


ricercare. [opzionale] Il numero di volte in cui sostituire la searchstring. 0 =
tutte le searchstrings sarannosostituite (default) [anche contatore < 0 also
sostituisce tutte le istanze] [opzionale] Flag per indicare se tl'operazione di
ricerca deve essere "case sensitive". 0 = non case sensitive (default) 1 = case
sensitive

replacestring La stringa in sostituzione. contatore

casesense

Valore di ritorno Ritorna la nuova stringa.

Osservazioni La search/replace viene eseguita da-sinistra-a-destra. Così,


StringReplace("aaa", "aa", "bb") ritorna

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 229 di 314

"bba"

Funzioni correlate String, StringLeft, StringLen, StringLower, StringMid,


StringRight, StringTrimLeft, StringTrimRight, StringUpper

Esempio $text = StringReplace("questa è una linea di testo", " ", "-") MsgBox(0,
"Title", $text)

Riferimenti alle funzioni


StringRight
Ritorna un numero di caratteri a partire dalla destra di una stringa.

StringRight ( "stringa ", contatore )

Parametri stringa contatore La stringa da valutare. Il numero di caratteri da


ottenere.

Valore di ritorno Ritorna una stringa contenente un determinato numero di


caratteri più a destra di una stringa.

Osservazioni Se contatore eccede la lunghezza della stringa o se contatore è


negativo, l'intera stringa viene ritornata.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 230 di 314

Funzioni correlate String, StringInStr, StringLeft, StringLen, StringLower,


StringMid, StringTrimLeft, StringTrimRight, StringUpper

Esempio $var = StringRight("Io sono una stringa ", 3) MsgBox(0, "I 3 caratteri più
a destra sono:", $var)

Riferimenti alle funzioni


StringSplit
Divide una stringa in sottostringhe in base ad un dato delimitatore.

StringSplit ( "stringa", "delimitatori" )

Parametri stringa delimitatori La stringa da valutare. Uno o più caratteri da


usare come delimitatori. ad es. se se volessi usare i caratteri "*" e "-" come
delimitatori dovresti usare "*-" per questo parametro.

Valore di ritorno Ritorna un array, il primo elemento ($array[0]) contiene il


numero di stringhe ritornate, gli elementi rimanenti ($array[1], $array[2], etc.)
contengono le stringhe delimitate. Se nessun delimitatore viene trovato @error è
impostato a 1, il contatore è 1 ($array[0]) e viene ritornata la stringa completa
($array[1]).

Osservazioni Se usi una stringa blank "" come delimitatore, ogni carattere sarà
ritornato come un elemento. Se il delimitatore che vuoi usare è una sottostringa
invece di caratteri singoli, vedi il secondo esempio di seguito.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 231 di 314

StringSplit è molto utile come alternativa a StringInStr e come strumento per


popolare un array.

Funzioni correlate String, StringInStr, StringLeft, StringLen, StringLower,


StringMid, StringReplace, StringRight, StringTrimLeft, StringTrimRight,
StringUpper

Esempio $days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",") ;$days[1] contiene


"Sun" ... $days[7] contiene "Sat" $text = "This\nline\ncontains\nC-style breaks."
$array = StringSplit(StringReplace($text, "\n", @LF), @LF)

Riferimenti alle funzioni


StringStripCR
Rimuove tutti i valori "carriage return" ( Chr(13) ) da una stringa.

StringStripCR ( "stringa" )

Parametri stringa La stringa da convertire.

Valore di ritorno Ritorna la stringa con tutte le istanze del carattere @CR
(Chr(13)) rimosse.

Osservazioni Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 232 di 314

Funzioni correlate StringAddCR, StringStripWS, StringIsSpace

Esempio $result = StringStripCR("Io sono una stringa" & Chr(13) & Chr(10))
MsgBox(0, "La stringa ripulita di tutti i caratteri CR è:", $result)

Riferimenti alle funzioni


StringStripWS
Toglie i caratteri whitespace da una stringa.

StringStripWS ( "stringa ", flag )

Parametri stringa La stringa da ripulire. Flag che indica il tipo di pulizia che
deve essere eseguita (aggiungi i flag insieme per operazioni multiple): 1 = toglie
i whitespace in testa alla stringa 2 = toglie i whitespace in coda alla stringa 4
= toglie i whitespace doppi (o più) tra le parole 8 = toglie tutti i whitespace
(sovrascrive tutti gli altri flags)

flag

Valore di ritorno Ritorna la nuova stringa ripulita degli spazi richiesti.

Osservazioni I caratteri whitespace includono da Chr(9) a Chr(13) che sono


HorizontalTab, LineFeed, VerticalTab, FormFeed, e CarriageReturn. Whitespace
include anche la stringa null ( Chr(0) ) e lo spazio standard ( Chr(32) ). Per
togliere whitespace singoli tra parole, usa la funzione StringReplace.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 233 di 314

Funzioni correlate StringStripCR, StringIsSpace, StringReplace

Esempio $text = StringStripWS(" questa è una linea di testo ", 3) MsgBox(0, "Tolti
da entrambe le estremità", $text)

Riferimenti alle funzioni


StringTrimLeft
Allinea un numero di caratteri nella parte sinistra di una stringa.

StringTrimLeft ( "stringa ", contatore )

Parametri stringa contatore La stringa da valutare. Il numero di caratteri da


allineare.

Valore di ritorno Ritorna la stringa allineata di contatore caratteri a sinistra.

Osservazioni Se contatore è fuori dai margini, viene ritornata una stringa vuota.
StringTrimLeft($str, $n) è funzionalmente equivalente a StringRight($str,
StringLen($str) - $n)

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 234 di 314

String, StringInStr, StringLeft, StringLen, StringLower, StringMid, StringRight,


StringTrimRight, StringUpper

Esempio $result = StringTrimLeft("Io sono una stringa", 3) MsgBox(0, "La stringa


senza i 3 caratteri più a sinistra è:", $result)

Riferimenti alle funzioni


StringTrimRight
Allinea un numero di caratteri nella parte destra di una stringa.

StringTrimRight ( "stringa ", contatore )

Parametri stringa contatore La stringa da valutare. Il numero di caratteri da


allineare.

Valore di ritorno Ritorna la stringa allineata di contatore caratteri a destra.

Osservazioni Se contatore è fuori dai margini, viene ritornata una stringa vuota.
StringTrimRight($str, $n) è funzionalmente equivalente a StringLeft($str,
StringLen($str) - $n)

Funzioni correlate String, StringInStr, StringLeft, StringLen, StringLower,


StringMid, StringRight, StringTrimLeft, StringUpper

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 235 di 314

Esempio $result = StringTrimRight("Io sono una stringa", 3) MsgBox(0, "La stringa


senza i 3 caratteri più a destra è:", $result)

Riferimenti alle funzioni


StringUpper
Converte una stringa in caratteri maiuscoli.

StringUpper ( "stringa " )

Parametri stringa La stringa ad convertire.

Valore di ritorno Ritorna la stringa convertita in caratteri maiuscoli.

Osservazioni Nessuna.

Funzioni correlate StringIsLower, StringIsUpper, String, StringInStr, StringLeft,


StringLen, StringLower, StringMid, StringRight, StringTrimLeft, StringTrimRight

Esempio $result = StringUpper("Io sono una stringa di 6 parole") MsgBox(0, "La


stringa convertita in caratteri maiuscoli è:", $result)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 236 di 314

Riferimenti alle funzioni


Asc
Ritorna il codice ASCII di un carattere.

Asc ( "char" )

Parametri char Il carattere per il quale orttenere il codice. Se è usata una


stringa, viene fornito il codice per il primo carattere.

Valore di ritorno Ritorni il codice ASCII dello specifico carattere. Se viene


passato un numero invece di un char, il risultato è -1.

Osservazioni Vedi l'Appendice per una tabella ASCII completa. Asc("0") == 48,
Asc("9") == 57, Asc("A") == 65, Asc("Z") == 90, Asc("a") == 97, Asc("z") == 122,
etc.

Funzioni correlate Chr

Esempi $code = Asc("A") MsgBox(0, "ASCII code for A:", $code)

Riferimenti alle funzioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 237 di 314

Chr
Ritorna un carattere corrispondente ad un codice ASCII.

Chr ( ASCIIcode )

Parametri ASCIIcode Un codice ASCII (ad es., 65 ritorna la lettera maiuscola A).

Valore di rotorno Ritorna una stringa corrispondente alla rappresentazione ASCII


di un dato codice.

Osservazioni Il parametro è convertito in un numero intero tra 0 e 255 se non lo è


già. Chr(48) == 0, Chr(57) == 9, Chr(65) == "A", Chr(90) == "Z", Chr(97) == "a",
Chr(122) = "z", etc. Una tabella ASCII completa è in Appendice.

Funzioni correlate Asc

Esempio $text = "" For $i = 65 to 90 $text = $text & Chr($i) Next MsgBox(0,
"Uppercase alphabet", $text)

Riferimenti alle funzioni


Dec

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 238 di 314

Ritorna una rappresentazione numerica di una stringa esadecimale.

Dec ( "hex" )

Parametri hex La stringa esadecimale da convertire.

Valore di ritorno Successo: Ritorna un numero. Ritorna 0 e imposta @error a 1 se è


stata usata una stringa esadecimale invalida o se si è Insuccesso: verificato un
overflow.

Osservazioni La funzione va bene solo con numeri che si adattano ad un numero


intero a 32 bit con segno (2147483648 a 2147483647)

Funzioni correlate Hex

Esempio $dec = Dec("FFFF") ;ritorna il numero 65536

Riferimenti alle funzioni


Eval
Ritorna il valore della variabile il cui nome è fornito dall'espressione.

Eval ( espressione )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 239 di 314

Parametri espressione stringa che rappresenta il nome della variabile che deve
essere valutata.

Valore di ritorno Successo: Ritorna il valore della variabile. Insuccesso: Ritorna


una stringa nulla con @error impostato a 1.

Osservazioni Nessuna.

Funzioni correlate IsDeclared

Esempio Dim $a_b = 12 $s = Eval("a" & "_" & "b") ; $s è impostato a 12 $s


=Eval("c") ; $s = "" e @error = 1

Riferimenti alle funzioni


Hex
Ritorna una rappresentazione in formato stringa di un numero intero convertito in
esadecimale.

Hex ( numero, lunghezza )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 240 di 314

Parametri numero lunghezza Il numero intero da convertire. Numero di caratteri che


deve essere ritornato (fino a 8). I caratteri sono troncati dalla parte sinistra
se la lunghezza è troppo piccola.

Valore di ritorno Successo: Ritorna una stringa di caratteri lunghezza, zero-


padded se necessario. Special: Ritorna una stringa nulla se la lunghezza è minore
di 1. Insuccesso: Ritorna una stringa nulla e imposta @error a 1 se la lunghezza è
maggiore di 8.

Osservazioni La funzione lavora solo con numeri che sono contenuti in un numero
intero a 32 bit con segno (da 2147483648 a 2147483647) La funzione imposterà anche
@error a 1 se non sono state richieste abbastanza cifre - la stringa restituita
ritornerà in questo caso le cifre meno significative.

Funzioni correlate Dec

Esempio $result = Hex(1033, 4) ;ritorna "0409"

Riferimenti alle funzioni


Int
Ritorna il numero intero (il numero completo) di un'espressione.

Int ( espressione )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 241 di 314

Parametri espressione Un'espressione da convertire in un numero intero.

Valore di ritorno Ritorna un numero intero.

Osservazioni Porzioni frazionarie vengono troncate, quindi Int(1.999999) ritorna 1


Int(0/0) ritorna -9.22337203685478e+018, casomai tu fossi sorpreso.

Funzioni correlate Number, String, Round

Esempio $var = Int(10.793) ;$var è il numero intero 10

Riferimenti alle funzioni


IsAdmin
Verifica se l'utente corrente ha privilegi amministrativi.

IsAdmin ( )

Parametri Nessuna.

Valore di ritorno

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 242 di 314

Successo: Ritorna 1 se l'utente corrente ha privilegi amministrativi. Insuccesso:


Ritorna 0 se l'utente non ha privilegi amministrativi.

Osservazioni Questa funzione ritornerà sempre 1 sotto Windows 95/98/Me.

Funzioni correlate RunAsSet

Esempio If IsAdmin() Then MsgBox(0, "", "Privilegi amministrativi individuati")

Riferimenti alle funzioni


IsArray
Verifica se una variabile è di tipo array.

IsArray ( variabile )

Parametri variabile La variabile/espressione da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se il parametro non è


una variabile array.

Osservazioni

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 243 di 314

Può essere utile validare parametri array/non-array di funzioni utente.

Funzioni correlate IsFloat, IsInt, IsString

Esempio $pos = WinGetPos("Senza titolo -") If IsArray($pos) Then MsgBox(0,


"Altezza della finestra", $pos[3]) EndIf

Riferimenti alle funzioni


IsDeclared
Verifica se una variabile è stata dichiarata.

IsDeclared ( espressione )

Parametri espressione stringa che rappresenta il nome della variabile che deve
essere verificata.

Valore di ritorno Successo: Ritorna 1 per variabili Globali o variabili dichiarate


fuori dalle funzioni. Speciale: -1 per variabili Locali. Insuccesso: Ritorna 0
quando nessuna variabile può essere trovata.

Osservazioni Nessuna.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 244 di 314

Funzioni correlate Eval

Esempio If Not IsDeclared ("a") then MsgBox(0,"", "$a NON è stata dichiarata")
EndIf $a=1 If IsDeclared ("a") then MsgBox(0,"", "$a E' stata dichiarata" ) EndIf
; a causa di una precedente $a=1 assegnazione ; $a non è stata mai assegnata

Riferimenti alle funzioni


IsFloat
Verifica se una variabile o espressione è di tipo float.

IsFloat ( variabile )

Parametri variabile La variabile o espressione da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se l'espressione non


è di tipo float.

Osservazioni Vedi gli esempi.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 245 di 314

Funzioni correlate IsArray, IsInt, IsString, StringIsFloat

Esempio IsFloat(3.14159) ;ritorna 1 IsFloat(3.000) ;ritorna 0 finchè il valore è


un numero intero 3 IsFloat(1/2 - 5) ;ritorna 1 IsFloat(1.5e3) ;ritorna 0 finchè
1.5e3 = 1500 IsFloat("12.345) ;ritorna 0 finchè è una stringa

Riferimenti alle funzioni


IsInt
Verifica se una variabile o espressione è un numero intero.

IsInt ( variabile )

Parametri variabile La variabile/espressione da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se l'espressione non


è un numero intero.

Osservazioni IsInt(7.5 - 2.5) ritorna 1 (significa true).

Funzioni correlate IsArray, IsFloat, IsString, StringIsInt

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 246 di 314

Esempio IsInt(-12345) IsInt(3.0000) IsInt("5432") IsInt(7.5 - 4.5) ;ritorna 1


;ritorna 1 ;ritorna 0 finchè è una stringa ;ritorna 1 finchè esprime numericamente
il numero intero 3

Riferimenti alle funzioni


IsNumber
Verifica se il tipo base di una variabile è numerico.

IsNumber ( variabile )

Parametri variabile La variabile/espressione da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se l'espressione non


è di tipo numerico.

Osservazioni I tipi Variant possono essere di due tipi base: Stringhe e Numeri.
Inoltre, un numero può essere intero o frazionario/floating-point.

Funzioni correlate IsArray, IsFloat, IsInt, IsString

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 247 di 314

IsNumber(42)

Riferimenti alle funzioni


IsString
Verifica se una variabile è di tipo stringa.

IsString ( variabile )

Parametri variabile La variabile/espressione da verificare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se l'espressione non


è di tipo stringa.

Osservazioni Nessuna.

Funzioni correlate IsArray, IsFloat, IsInt

Esempio $x = IsString("foo")

Riferimenti alle funzioni


file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm
18/05/2008
AutoIt

Pagina 248 di 314

Number
Ritorna la rappresentazione numerica di un'espressione.

Number ( espressione )

Parametri espressione Un'espressione da convertire in un numero.

Valore di ritorno Ritorna un numero.

Osservazioni Se una stringa comincia con lettere ha un valore numerico di zero.


Una stringa che comincia con cifre viene trattata senza considerare caratteri non
numerici.

Funzioni correlate Int, String

Esempio $w = Number(1+2+10) ;ritorna 13 $x = Number("3.14") ;ritorna 3.14 $y =


Number("24/7") ;ritorna 24 $z = Number("tmp3") ;ritorna 0

Riferimenti alle funzioni


String
Ritorna una rappresentazione in formato stringa di un'espressione.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 249 di 314

String ( espressione )

Parametri espressione Un'espressione da convertire in una stringa.

Valore di ritorno Ritorna una stringa.

Osservazioni La massima lunghezza di una stringa è di 2147483647 caratteri (ma


tieni presente che nessuna linea in uno script AutoIt può eccedere 4095
caratteri.)

Funzioni correlate Int, Number, IsString

Esempio $var = String(10) ;$var è la stringa "10"

Riferimenti alle funzioni


UBound
Ritorna la size di una dimensione di un array.

UBound ( Array [, Dimensione] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 250 di 314

Parametri Array Dimensione La variabile array che è stata inteogata. [opzionale]


Quale dimensione di un array multi-dimensionato elaborare. Il default è 1, che è
la prima dimensione. Se questo parametro è 0 viene ritornato il numero di
subscripts nell'array.

Valore di ritorno Successo: Ritorna la size della dimensione dell'array. Ritorna 1


e imposta @error a 1 se la dimensione è invalida o se la variabile non è un
Insuccesso: array!

Osservazioni Ricorda che UBound è più grande di uno dell'indice dell'ultimo


elemento di un array!

Funzioni correlate Dim

Esempio Dim $myArray[10][20] ;dall'elemento 0,0 a 9,19 $rows = UBound($myArray)


$cols = UBound($myArray, 2) $dims = UBound($myArray, 0) MsgBox(0, "La " & $dims &
"-dimensione dell'array ha", _ $rows & " righe, " & $cols & " colonne")
;Visualizza i contenuti di $myArray $output = "" For $r = 0 to UBound($myArray,1)
- 1 $output = $output & @LF For $c = 0 to UBound($myArray,2) - 1 $output = $output
& $myArray[$r][$c] & " " Next Next MsgBox(4096,"Contenuti dell'array", $output)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 251 di 314

Riferimenti alle funzioni


ControlClick
Invia un comando di click del mouse ad un dato controllo.

ControlClick ( "titolo", "testo", "classnameNN" [, pulsante] [, clicks]] )

Parametri titolo testo classnameNN pulsante clicks Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o l'esatto titolo/testo di un controllo con qualsiasi
carattere sottolineato rappresentato con una precedente &. [opzionale] Il pulsante
da cliccare, "sinistro", "destro" o "centrale". Il default è il pulsante sinistro.
opzionale] Il numero di volte con cui cliccare il mouse. Il default è 1.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Potrebbe essere necessario per prima cosa attribuire il focus al


controllo con il comando ControlFocus. Quando usi un nome di controllo nelle
funzioni Control, è necessario aggiungere un numero alla fine del nome del
controllo per indicare quale controllo. Ad esempio, se ci sono due controlli
chiamati "MDIClient", potresti referenziarli come "MDIClient1" e "MDIClient2".
Simulare un click su un controllo è accurato al 100% solo quando il controllo
della finestra padre è attivo - ciò è ottenuto automaticamente.

Funzioni correlate ControlCommand, ControlFocus, MouseClick

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 252 di 314

Esempio ControlClick("Untitled -", "", "MDIClient1")

Riferimenti alle funzioni


ControlCommand
Invia un comando ad un controllo.

ControlCommand ( "titolo", "testo", "classnameNN", "comando", "opzione" )

Parametri titolo testo classnameNN comando opzione Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o l'esatto titolo/testo del controllo con qualsiasi carattere
sottolineato rappresentato con una precedente &. Il comando da inviare al
controllo. Parametro addizionale richiesto da alcuni comandi; usa "" se il
parametro non è richiesto.

Valore di ritorno Dipende dal comando come è mostrato nella tavola seguente. Nel
caso di un errore (come ad esempio un comando o una finestra/controllo invalidi),
@error=1. Comando, opzione Valore di ritorno "IsVisible", "" "IsEnabled", ""
"HideDropDown", "" "AddString", 'stringa ' "DelString", occorrenza Ritorna 1 se il
Controllo è visibile, 0 in caso contrario Ritorna 1 se il Controllo è abilitato, 0
in caso contrario Chiude una ComboBox Aggiunge una stringa alla fine di una
ListBox o ComboBox Cancella l'occorrenza di una stringa in una ListBox o ComboBox

"ShowDropDown", "" Apre una ComboBox

"FindString", 'stringa ' Ritorna l'occorrenza di una stringa esatta in una ListBox
o ComboBox

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 253 di 314

"SetCurrentSelection", Imposta la selezione dell'occorrenza corrente in una


ListBox o ComboBox occorrenza "SelectString", 'stringa Imposta la selezione in
base ad una stringa in una ListBox o ComboBox ' "IsChecked", "" "Check", ""
"UnCheck", "" "GetCurrentLine", "" "GetCurrentCol", "" Ritorna 1 se Button è
marcato, 0 in caso contrario Seleziona radio o check Button Deseleziona radio o
check Button Ritorna la linea # dove è posizionato il cursore in un Edit Ritorna
la colonna # dove è posizionato il cursore in un Edit

"GetCurrentSelection", Ritorna il nome dell'elemento selezionato in una ListBox o


ComboBox "" "GetLineCount", "" "GetLine", line# "GetSelected", "" "EditPaste",
'stringa ' "CurrentTab", "" "TabRight", "" "TabLeft", "" Ritorna il # di linee in
un Edit Ritorna il testo alla linea # di un Edit Ritorna il testo selezionato di
un Edit Incolla la 'stringa' alla posizione del cursore dell'Edit Ritorna il Tab
attivo di un controllo SysTabControl32 Muove al prossimo tab a destra di un
controllo SysTabControl32 Muove al prossimo tab a sinistra di un controllo
SysTabControl32

Osservazioni Certi comandi che funzionano con Combo e ListBox non funzionano con
controlli "ComboLBox". Quando usi un nome di controllo nelle funzioni Control, è
necessario aggiungere un numero alla fine del nome per indicare quale controllo.
Ad esempio, se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2". Usa AU3_Spy.exe per ottenere il numero di un
controllo. Quando usi il testo invece del ClassName# in comandi "Control",
assicurati di usare l'intero testo del controllo. Un testo parziale sarebbe
insufficiente.

Funzioni correlate ControlDisable, ControlEnable, ControlFocus, ControlGetPos,


ControlGetText, ControlHide, ControlClick, ControlMove, ControlSetText,
ControlShow, StatusbarGetText, WinMenuSelectItem, WinGetClassList

Esempio ControlCommand("Untitled - Notepad", "", "Edit1", "GetLineCount", "")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 254 di 314

Riferimenti alle funzioni


ControlDisable
Disabilita o "ingrigisce" un controllo.

ControlDisable ( "titolo", "testo", "classnameNN")

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate ControlEnable, ControlHide, ControlCommand

Esempio ControlDisable("Untitled -", "", "MDIClient1")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 255 di 314

Riferimenti alle funzioni


ControlEnable
Abilita un controllo "ingrigito".

ControlEnable ( "titolo", "testo", "classnameNN" )

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni usa con cautela. Quando usi un nome di controllo nelle funzioni
Control, è necessario aggiungere un numero alla fine del nome per indicare quale
controllo. Per esempio, se ci sono due controlli chiamati "MDIClient", puoi
referenziarli come "MDIClient1" e "MDIClient2".

Funzioni correlate ControlDisable, ControlShow, ControlCommand

Esempio ControlEnable("Untitled -", "", "MDIClient1")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 256 di 314

Riferimenti alle funzioni


ControlFocus
Imposta l'input focus su un dato controllo di una finestra.

ControlFocus ( "titolo", "testo", "classnameNN" )

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0.

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate ControlCommand, WinActivate

Esempio ControlFocus("Untitled - Notepad", "", "Edit1")

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 257 di 314

Riferimenti alle funzioni


ControlGetFocus
Ritorna il ControlRef# del controllo che ha il focus della tastiera all'interno di
una specifica finestra.

ControlGetFocus ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da controllare. (Opzionale) Il


testo della finestra da controllare.

Valore di ritorno Ritorna il ControlRef# del controllo che ha il focus della


tastiera all'interno di una specifica finestra. Insuccesso: Imposta @error a 1 se
la finestra non è stata trovata. Successo:

Osservazioni Nessuna.

Funzioni correlate ControlFocus, ControlCommand, WinActive

Esempio $a = ControlGetFocus("Untitled - Notepad")

Riferimenti alle funzioni


ControlGetPos

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 258 di 314

Recupera la posizione e le dimensioni di un controllo relative alla sua finestra.

ControlGetPos ( "titolo", "testo", "classnameNN" )

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Ritorna un array contenente la posizione e le dimensioni di un


controllo relative alla sua finestra. Insuccesso: Imposta @error a 1. Successo:

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate ControlCommand, ControlMove, WinMove

Esempio $pos = ControlGetPos("Untitled - Notepad", "", "Edit1") MsgBox(0, "Window


Stats:", "POS: " & $pos[0] & _ "," $pos[1] & " SIZE: " & $pos[2] & "," $pos[3] )

Riferimenti alle funzioni


file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm
18/05/2008
AutoIt

Pagina 259 di 314

ControlGetText
Recupera il testo di un controllo.

ControlGetText ( "titolo", "testo", "classnameNN" )

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Successo: Ritorna il testo di un controllo. Insuccesso: Imposta


@error a 1 e ritorna una stringa vuota "".

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate WinGetText, StatusbarGetText, ControlSetText, ControlCommand

Esempio $var = ControlGetText("Untitled - Notepad", "", "Edit1")

Riferimenti alle funzioni


ControlHide

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 260 di 314

Nasconde un controllo.

ControlHide ( "titolo", "testo", "classnameNN" )

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la


finestra/controllo non viene trovata.

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate ControlShow, ControlCommand, WinSetState

Esempio ControlHide("Untitled -", "", "MDIClient1")

Riferimenti alle funzioni


ControlMove

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 261 di 314

Muove un controllo all'interno di una finestra.

ControlMove ( "titolo", "testo", "classnameNN", x, y [, larghezza [, altezza]] )

Parametri titolo testo classnameNN x y larghezza altezza Il titolo della finestra


da muovere. Il testo della finestra da muovere. Il classname è l'istanza del
controllo richiesto o il titolo/testo esatto del controllo con qualsiasi carattere
di sottolineatura indicato da una precedente &. Coordinata X da cui muovere.
Coordinata Y da cui muovere. [opzionale] Nuova larghezza della finestra.
[opzionale] Nuova altezza della finestra.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la


finestra/controllo non viene trovata.

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate ControlCommand, WinMove

Esempio ControlMove("Untitled -", "", "MDIClient1", 0, 0, 200, 200)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 262 di 314

Riferimenti alle funzioni


ControlSend
Invia una stringa di caratteri ad un controllo.

ControlSend ( "titolo", "testo", "classnameNN", "stringa" [, flag] )

Parametri titolo testo classnameNN stringa flag Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o il titolo/testo esatto del controllo con qualsiasi carattere
di sottolineatura indicato da una precedente &. Stringa di caratteri da inviare al
controllo. [opzionale] Cambia il modo in cui le "keys" sono elaborate: flag = 0
(default), Il testo contiene caratteri speciali come + per indicare SHIFT e {LEFT}
per indicare la freccia sinistra. flag = 1, le keys vengono inviate raw.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la


finestra/controllo non viene trovata.

Osservazioni ControlSend può essere molto utile per inviare lettere maiuscole
senza fare confusione con lo stato di "Shift." Quando usi un nome di controllo
nelle funzioni Control, è necessario aggiungere un numero alla fine del nome per
indicare quale controllo. Per esempio, se ci sono due controlli chiamati
"MDIClient", puoi referenziarli come "MDIClient1" e "MDIClient2". Nota, questa
funzione non può inviare tutti i caratteri della solita funzione Send
(particolarmente ALT keys) ma può inviare la maggioranza di essi--anche a finestre
non attive o nascoste!

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 263 di 314

ControlCommand, Send

Esempio ControlSend("Untitled", "", "Edit1", "This is a line of text in the


notepad window")

Riferimenti alle funzioni


ControlSetText
Imposta il testo di un controllo.

ControlSetText ( "titolo", "testo", "classnameNN", "nuovo testo" )

Parametri titolo testo classnameNN nuovo testo Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o il titolo/testo esatto del controllo con qualsiasi carattere
di sottolineatura indicato da una precedente &. Il nuovo testo che deve essere
inviato al controllo.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la


finestra/controllo non viene trovata.

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 264 di 314

ControlGetText, ControlCommand

Esempio Run("notepad.exe") WinWait("Untitled -") ControlSetText("Untitled -", "",


"Edit1", "New Text Here" )

Riferimenti alle funzioni


ControlShow
Visualizza un controllo che era nascosto.

ControlShow ( "titolo", "testo", "classnameNN" )

Parametri titolo testo classnameNN Il titolo della finestra a cui accedere. Il


testo della finestra a cui accedere. Il classname è l'istanza del controllo
richiesto o il titolo/testo esatto del controllo con qualsiasi carattere di
sottolineatura indicato da una precedente &.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la


finestra/controllo non viene trovata.

Osservazioni Quando usi un nome di controllo nelle funzioni Control, è necessario


aggiungere un numero alla fine del nome per indicare quale controllo. Per esempio,
se ci sono due controlli chiamati "MDIClient", puoi referenziarli come
"MDIClient1" e "MDIClient2".

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 265 di 314

ControlHide, ControlEnable, ControlCommand

Esempio ControlShow("Untitled -", "", "MDIClient1")

Riferimenti alle funzioni


StatusbarGetText
Recupera il testo da un controllo status bar standard.

StatusbarGetText ( "titolo" [, "testo" [, parte]] )

Parametri titolo testo parte Il titolo della finestra da verificare. [opzionale]


Il testo della finestra da verificare. [opzionale] Il numero che identifica la
"parte" della status bar da leggere - il default è 1. 1 è la prima parte possibile
e di solito la sola che contiene messaggi utili come "Ready" "Loading...", etc.

Valore di ritorno Successo: Ritorna il testo letto. Insuccesso: Ritorna una


stringa vuota e imposta @error a 1 se nessun testo può essere letto.

Osservazioni Questa funzione tenta di leggere la prima status bar standard su una
finestra (Microsoft common control: msctls_statusbar32). Alcuni programmi usano le
loro status bars o versioni speciali del MS common control che StatusbarGetText
non può leggere. Ad esempio, StatusbarText non funziona con il programma TextPad;
comunque, la prima regione della status bar di TextPad può essere letta usando
ControlGetText("TextPad", "", "HSStatusBar1") StatusbarGetText può funzionare su
finestre che sono minimizzate o nascoste.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 266 di 314

Funzioni correlate ControlGetText, ControlCommand

Esempio AutoItSetOption("WinTitleMatchMode", 2) $x = StatusbarGetText("Internet


Explorer") MsgBox(0, "La status bar di Internet Explorer dice:", $x)

Riferimenti alle funzioni


WinActivate
Attiva (dà il focus a) una finestra.

WinActivate ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da attivare. [opzionale] Il testo


della finestra da attivare.

Valore di ritorno Nessuno.

Osservazioni Puoi usare la funzione WinActive per verificare se WinActivate ha


avuto successo. Se più finestre corrispondono ai criteri, la finestra che è stata
attiva più di recente è quella che viene attivata. WinActivate funziona anche su
finestre minimizzate. Comunque, una finestra che è "sempre in primo piano"
potrebbe sovrapporsi alla finestra che è stata attivata.

Funzioni correlate

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 267 di 314

WinClose, WinSetState, WinTitleMatchMode (Option)

Esempio WinActivate("Untitled - Notepad", "")

Riferimenti alle funzioni


WinActive
Verifica se una finestra esiste ed è attualmente attiva.

WinActive ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da attivare. [opzionale] Il testo


della finestra da attivare.

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se la finestra non è


attiva.

Osservazioni Nessuna.

Funzioni correlate WinExists, WinWait, WinWaitActive, WinWaitClose,


WinWaitNotActive, WinTitleMatchMode (Option)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 268 di 314

Esempio If WinActive("Untitled -") Then MsgBox(0, "", "La finestra è attiva")


EndIf

Riferimenti alle funzioni


WinClose
Chiude una finestra.

WinClose ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da chiudere. [opzionale] Il testo


della finestra da chiudere.

Valore di ritorno Nessuna.

Osservazioni Questa funzione invia un messaggio di chiusura ad una finestra, il


risultato dipende dalla finestra (può chiedere di salvare i dati data, etc.). Per
forzare la chiusura di una finestra, usa la funzione WinKill. Se più finestre
corrispondono ai criteri, la finestra che è stata attiva più di recente viene
chiusa.

Funzioni correlate WinActivate, WinExists, WinKill, WinSetState, WinTitleMatchMode


(Option)

Esempio

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 269 di 314

WinClose("Untitled - Notepad", "")

Riferimenti alle funzioni


WinExists
Verifica se una specifica finestra esiste.

WinExists ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da verificare. [opzionale] Il


testo della finestra da verificare.

Valore di ritorno Ritorna 1 se la finestra esiste, altrimenti ritorna 0.

Osservazioni WinExist ritornerà 1 anche se una finestra è nascosta.

Funzioni correlate WinActive, WinWait, WinWaitActive, WinWaitClose,


WinWaitNotActive, WinTitleMatchMode (Option)

Esempio If WinExists("Untitled -") Then MsgBox(0, "", "La finestra esiste") EndIf

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 270 di 314

Riferimenti alle funzioni


WinGetCaretPos
Ritorna le coordinate del caret nella finestra in primo piano

WinGetCaretPos ( )

Parametri Nessuno.

Valore di ritorno Successo: Ritorna un array di 2 elementi contenente le seguenti


informazioni: $array[0] = coordinata X $array[1] = coordinata Y Insuccesso:
Imposta @error a 1.

Osservazioni WinGetCaretPos potrebbe ritornare valori non accurati per


applicazioni Multiple Document Interface (MDI) se è usato "absolute
CaretCoordMode". Vedi l'esempio per una soluzione. Nota: Alcune applicazioni
riportano coordinate statiche indipendentemente dalla posizione del caret!

Funzioni correlate CaretCoordMode (Option)

Esempio $a = WinGetCaretPos() If Not @error Then ToolTip("First Method Pos",


$a[0], $a[1]) sleep(2000) $b = _CaretPos() If Not @error Then ToolTip("Second
Method Pos", $b[0], $b[1]) sleep(2000)

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 271 di 314

; Un metodo più affidabile per ottenere le coordinate del caret text editors MDI.
Func _CaretPos() Local $x_adjust = 5 Local $y_adjust = 40 Opt("CaretCoordMode", 0)
;relative mode Local $c = WinGetCaretPos() ;relative caret coords Local $w =
WinGetPos("") ;window's coords Local $f = ControlGetFocus("","") ;text region
"handle" Local $e = ControlGetPos("", "", $f) ;text region coords Local $t[2] If
IsArray($c) e IsArray($w) e IsArray($e) Then $t[0] = $c[0] + $w[0] + $e[0] +
$x_adjust $t[1] = $c[1] + $w[1] + $e[1] + $y_adjust Return $t ;coordinate assolute
dello schermo per il cursore Else SetError(1) EndIf EndFunc

Riferimenti alle funzioni


WinGetClassList
Recupera le classi di una finestra.

WinGetClassList ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da leggere. [opzionale] Il testo


della finestra da leggere.

Valore di ritorno Successo: Ritorna una stringa contenente le classi di una


finestra lette. Insuccesso: Ritorna 1 e imposta @error a 1 se nessuna finestra
corrisponde ai criteri.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 272 di 314

Osservazioni I nomi di classi sono separati da linefeed (@LF). WinGetClassList


funziona sia su finestre nascoste che minimizzate. Possono essere recuperati fino
a 64KB di testo. Se più finestre corrispondono ai criteri, le classi sono lette a
partire dalla finestra attiva più di recente.

Funzioni correlate WinGetText, ControlCommand

Esempio $text = WinGetClassList("Untitled -", "") MsgBox(0, "Il testo letto è:",
$text)

Riferimenti alle funzioni


WinGetClientSize
Recupera la dimensione di una data area client di una finestra.

WinGetClientSize ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da leggere. [opzionale] Il testo


della finestra da leggere.

Valore di ritorno Successo: Ritorna un array di 2 elementi contenente le seguenti


informazioni: $array[0] = Larghezza dell'area client della finestra $array[1] =
Altezza dell'area client della finestra Insuccesso: Ritorna 1 e imposta @error a 1
se la finestra non viene trovata.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 273 di 314

Osservazioni Se la finestra è minimizzata, i valori di altezza e larghezza


ritornati sono zero. Comunque, WinGetClientSize funziona correttamente su finestre
nascoste (non minimizzate). Se viene usato il titolo della finestra "Program
Manager", la funzione ritornerà la dimensione del desktop. WinGetClientSize("")
corrisponde alla finestra attiva. Se più finestre corrispondono ai criteri, la
finestra attiva più di recente viene usata.

Funzioni correlate WinGetPos, WinMove

Esempio $size = WinGetClientSize("") MsgBox(0, "La dimensione dell'area client


della finestra attiva è (larghezza,altezza):", $size[0] & " " & $size[1])

Riferimenti alle funzioni


WinGetHandle
Recupera il puntatore interno di una finestra.

WinGetHandle ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da leggere. [opzionale] Il testo


della finestra da leggere.

Valore di ritorno Successo: Ritorna una stringa contenente il valore del puntatore
della finestra. Ritorna "" (stringa vuota) e imposta @error a 1 se nessuna
finestra corrisponde ai Insuccesso: criteri.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 274 di 314

Osservazioni Questa funzione può essere usata con le opzioni avanzate


WinTitleMatchMode che permettono di usare classnames e puntatori per specificare
finestre piuttosto che "titoli" e "testi". Una volta ottenuto il puntatore puoi
accedere alla finestra richiesta anche se il suo titolo cambia.

Funzioni correlate WinTitleMatchMode (Option)

Esempio ; Identifica la finestra Notepad che contiene il testo "this one" e


ottiene un puntatore ad essa ; Cambia in WinTitleMatchMode che supporta classnames
e puntatori AutoItSetOption("WinTitleMatchMode", 4) ; Ottiene il puntatore di una
finestra notepad che contiene "this one" $handle =
WinGetHandle("classname=Notepad", "this one") If @error Then MsgBox(4096, "Error",
"Non posso trovre la finestra corretta") Else ; Invia del testo direttamente al
controllo edit della finestra ControlSend("handle=" & $handle, "", "Edit1",
"AbCdE") EndIf

Riferimenti alle funzioni


WinGetPos
Recupera la posizione e dimensione di una data finestra.

WinGetPos ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da leggere. [opzionale] Il testo


della finestra da leggere.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 275 di 314

Valore di ritorno Successo: Ritorna un array di 4 elementi contenente le seguenti


informazioni: $array[0] = Posizione X $array[1] = Posizione Y $array[2] =
Larghezza $array[3] = Altezza Insuccesso: Ritorna 1 e imposta @error a 1 se la
finestra non è stata trovata.

Osservazioni WinGetPos ritorna numeri negativi come -32000 per finestre


minimizzate, ma funziona bene con finestre nascoste (non minimizzate). Se viene
usato il titolo della finestra "Program Manager", la funzione ritornerà la
dimensione del desktop. Se più finestre corrispondono ai criteri, la finestra
attiva più di recente viene usata.

Funzioni correlate WinGetClientSize, WinMove

Esempio $size = WinGetPos("") MsgBox(0, "Statistiche sulla finestra attiva


(x,y,larghezza,altezza):", $size[0] & " " & $size[1] & " " & $size[2] & " " &
$size[3])

Riferimenti alle funzioni


WinGetState
Recupera lo stato di una data finestra.

WinGetState ( "titolo" [, "testo"] )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 276 di 314

titolo testo

Il titolo della finestra da leggere. [opzionale] Il testo della finestra da


leggere.

Valore di ritorno Successo: Ritorna un valore che indica lo stato della finestra.
Valori multipli sono addizionati insieme, perciò usa BitAND() per esaminare la
parte a cui sei interessato: 1 = La finestra esiste 2 = La finestra è visibile 4 =
La finestra è abilitata 8 = La finestra è attiva 16 = La finestra è minimizzata 32
= La finestra è massimizzata

Insuccesso: Ritorna 0 e imposta @error a 1 se la finestra non è stata trovata.

Osservazioni Nessuna.

Funzioni correlate BitAND, WinGetPos

Esempio ; Controlla se una nuova finestra notepad è minimizzata $state =


WinGetState("Untitled", "") ; Il valore "minimizzata" è impostato? If
BitAnd($state, 16) Then MsgBox(0, "Esempio", "La finestra è minimizzata") EndIf

Riferimenti alle funzioni


WinGetText
Recupera il testo da una finestra.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 277 di 314

WinGetText ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da leggere. [opzionale] Il testo


della finestra da leggere.

Valore di ritorno Ritorna una stringa contenente il testo di una finestra letto.

Osservazioni Possono essere recuperati fino a 64KB di testo di una finestra.


WinGetText funziona su finestre minimizzate, ma funziona su finestre nascoste solo
se hai impostato AutoItSetOption ("WinDetectHiddenText", 1) Se più finestre
corrispondono ai criteri, vengono recuperate le informazioni relative a quella
attiva più di recente. Usa WinGetText("") per ottenere il testo della finestra
attiva.

Funzioni correlate WinGetTitle, ControlGetText

Esempio $text = WinGetText("Untitled -", "") MsgBox(0, "Il testo letto è:", $text)

Riferimenti alle funzioni


WinGetTitle
Recupera il titolo completo di una finestra.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 278 di 314

WinGetTitle ( "titolo" [, "testo"] )

Parametri titolo testo Il titolo della finestra da leggere. [opzionale] Il testo


della finestra da leggere.

Valore di ritorno Ritorna una stringa contenente il titolo completo di una


finestra. Ritorna 0 se nessun titolo corrisponde.

Osservazioni WinGetTitle("") ritorna il titolo della finestra attiva. WinGetTitle


funziona sia su finestre minimizzate che nascoste. Se più finestre corrispondono
ai criteri, la finestra attiva più di recente viene usata.

Funzioni correlate AutoItWinGetTitle, WinGetText, WinSetTitle, WinTitleMatchMode


(Option)

Esempio $title = WinGetTitle("Untitled -", "") MsgBox(0, "Il titolo completo letto
è:", $title)

Riferimenti alle funzioni


WinKill
Forza la chiusura di una finestra.

WinKill ( "titolo" [, "testo"] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 279 di 314

Parametri titolo testo Il titolo della finestra da chiudere. [opzionale] Il testo


della finestra da chiudere.

Valore di ritorno Nessuna. (Ritorna sempre 1 indipendentemente dall'esito.)

Osservazioni La differenza tra questa funzione e WinClose è che WinKill terminerà


decisamente la finestra se non si chiude abbastanza rapidamente. Di conseguenza,
un utente potrebbe non avere tempo per rispondere alla finestre di dialogo che
chiedono di salvare i dati. Sebbene WinKill può funzionare sia su finestre
minimizzate che nascoste, alcune finestre (particolarmente Windows Explorer)
possono essere terminate solo usando WinClose.

Funzioni correlate WinActivate, WinClose, WinSetState, ProcessClose

Esempio WinKill("Untitled - ", "")

Riferimenti alle funzioni


WinMenuSelectItem
Invoca una voce di menu di una finestra. WinMenuSelectItem ( "titolo", "testo",
"item" [, "item" [, "item" [, "item" [, "item" [, "item" [, "item"]]]]]] )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 280 di 314

titolo testo item item item item item item item

Il titolo della finestra da leggere. Il testo della finestra da leggere. Testo del
Menu Item (opzionale) Testo del SubMenu item (opzionale) Testo del SubMenu item
(opzionale) Testo del SubMenu item (opzionale) Testo del SubMenu item (opzionale)
Testo del SubMenu item (opzionale) Testo del SubMenu item

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se il menu non può


essere trovato.

Osservazioni Nota che voci di menu sottolineate attualmente contengono un


carattere & per indicare la sottolineatura. In questo modo, la voce di menu File
richiederebbe il testo "&File", e Convert richiederebbe "Con&vert". Puoi accedere
a voci di menu fino ad una profondità di 6 livelli; e la finestra può essere
inattiva, minimizzata, e/o anche nascosta. WinMenuSelectItem funzionerà solo con
menu standard. Sfortunatamente, moli menu in uso al giorno d'oggi sono scritti in
maniera "personalizzata" o le toolbars "pretendono" di essere menu. Ciò è vero per
molte applicazioni Microsoft.

Funzioni correlate ControlCommand, Send

Esempio ; Questo selezionerà File, Page Setup in notepad


WinMenuSelectItem("Untitled - ", "", "&File", "Page Set&up..." )

Riferimenti alle funzioni


WinMinimizeAll

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 281 di 314

Minimizza tutte lel finestre.

WinMinimizeAll ( )

Parametri Nessuno.

Valore di ritorno Nessuno.

Osservazioni Inviare("#m") è una possibile alternativa.

Funzioni correlate WinMinimizeAllUndo, WinSetState

Esempio WinMinimizeAll()

Riferimenti alle funzioni


WinMinimizeAllUndo
Annulla una precedente funzione WinMinimizeAll.

WinMinimizeAllUndo ( )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 282 di 314

Parametri Nessuno.

Valore di ritorno Nessuno.

Osservazioni Inviare("#+m") è una possibile alternativa.

Funzioni correlate WinMinimizeAll, WinSetState

Esempio WinMinimizeAllUndo()

Riferimenti alle funzioni


WinMove
Muove e/o ridimensiona una finestra.

WinMove ( "titolo", "testo", x, y [, larghezza [, altezza]] )

Parametri titolo testo x y Il titolo della finestra da muovere/ridimensionare. Il


testo della finestra da muovere/ridimensionare. Coordinata X a cui muovere.
Coordinata Y a cui muovere.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 283 di 314

larghezza altezza

(opzionale) Nuova larghezza della finestra. (opzionale) Nuova altezza della


finestra.

Valore di ritorno Nessuno.

Osservazioni WinMove non ha effetto su finestre minimizzate, ma funziona su


finestre nascoste. Se l'altezza e larghezza sono piccole (o negative), la finestra
non sarà più piccola di 112 x 27 pixels. Se larghezza e altezza sono grandi, la
finestra non diventerà più grande di circa [12+@DesktopWidth] x
[12+@DesktopHeight] pixels. Valori negativi sono permessi per le coordinate x e y.
Infatti, puoi muovere una finestra fuori schermo; e se il programma della finestra
ricorda l'ultima posizione, la finestra apparirà nell'angolo (ma completamente a
video) la prossima volta che lanci il programma. Se più finestre corrispondono ai
criteri, la finestra attiva più di recente viene usata.

Funzioni correlate WinActivate, WinClose, WinGetClientSize, WinGetPos, WinSetState

Esempio WinMove("Untitled -", "", 0, 0, 200, 200)

Riferimenti alle funzioni


WinSetOnTop
Cambia l'attributo di una finestra "Always On Top".

WinSetOnTop ( "titolo", "testo", flag )

Parametri

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 284 di 314

titolo testo flag

Il titolo della finestra da elaborare. Il testo della finestra da elaborare.


Determina se deve essere impostato il flag "TOPMOST". 1=imposta il flag on top, 0
= rimuove il flag on top

Valore di ritorno Nessuno.

Osservazioni Programmi di terza parti che aggiungono voci di menu contestuale


"Always On Top" potrebbero non aggiornare le loro voci di menu per riflettere il
cambiamento dello stato TOPMOST indotto da AutoIt.

Funzioni correlate WinSetState

Esempio WinSetOnTop("Untitled -", "", 1)

Riferimenti alle funzioni


WinSetState
Visualizza, nasconde, minimizza, massimizza, o ripristina una finestra.

WinSetState ( "titolo", "testo", flag )

Parametri titolo Il titolo della finestra da visualizzare.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 285 di 314

testo

Il testo della finestra da visualizzare. Il flag "show" del programma eseguito:


@SW_HIDE = Nasconde la finestra @SW_SHOW = Visualizza una finestra nascosta in
precedenza @SW_MINIMIZE = Minimizza una finestra @SW_MAXIMIZE = Massimizza una
finestra @SW_RESTORE = Annulla una minimizzazione o massimizzazione di una
finestra

flag

Valore di ritorno Nessuno.

Osservazioni WinSetState è una sostituzione della funzione scorrettamente chiamata


WinShow. WinShow è accettata come un alias ma ciò può essere rivisto in futuro. Se
più finestre corrispondono ai criteri, la finestra attiva più di recente viene
usata. @SW_MINIMIZE e @SW_MAXIMIZE funzionano anche su finestre di dialogo modali.

Funzioni correlate WinActivate, WinClose

Esempio WinSetState("Untitled -", "", @SW_HIDE) Sleep(3000) WinSetState("Untitled


-", "", @SW_SHOW)

Riferimenti alle funzioni


WinSetTitle
Cambia il titolo di una finestra.

WinSetTitle ( "titolo", "testo", "nuovotitolo )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 286 di 314

Parametri titolo testo nuovotitolo Il titolo della finestra da cambiare. Il testo


della finestra da cambiare. Il nuovo titolo da dare alla finestra.

Valore di ritorno Nessuno.

Osservazioni Se più finestre corrispondono ai criteri, la finestra attiva più di


recente viene usata.

Funzioni correlate AutoItWinSetTitle, WinGetTitle, WinTitleMatchMode (Option)

Esempio WinSetTitle("Untitled - ", "", "My New Notepad")

Riferimenti alle funzioni


WinWait
Mette in pausa l'esecuzione dello script finchè la finestra richiesta esiste.

WinWait ( "titolo" [, "testo" [, timeout]] )

Parametri titolo Il titolo della finestra da verificare.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 287 di 314

testo timeout

[opzionale] Il testo della finestra da verificare. [opzionale] Timeout in secondi

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verifica un


timeout.

Osservazioni AutoIt ricerca la corrispondenza della finestra ogni 250 millisecondi


circa.

Funzioni correlate WinActive, WinExists, WinWait, WinWaitActive, WinWaitClose,


WinWaitNotActive, WinWaitDelay (Option)

Esempio ;Aspetta che la finestra "Untitled" esista Run("notepad")


WinWait("Untitled") ;Aspetta al massimo 5 secondi che la finestra "Untitled"
esista WinWait("Untitled", "", 5)

Riferimenti alle funzioni


WinWaitActive
Mette in pausa l'esecuzione dello script finchè la finestra richiesta è attiva.

WinWaitActive ( "titolo", ["testo"], [timeout] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 288 di 314

Parametri titolo testo timeout Il titolo della finestra da verificare. [opzionale]


Il testo della finestra da verificare. [opzionale] Timeout in secondi

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verifica un


timeout.

Osservazioni AutoIt ricerca la corrispondenza della finestra ogni 250 millisecondi


circa.

Funzioni correlate WinActive, WinExists, WinWait, WinWaitClose, WinWaitNotActive,


WinWaitDelay (Option)

Esempio ;Wait for the window "Untitled" to exist e be active


WinWaitActive("Untitled") ;Aspetta al masimo 5 secondi che la finestra "Untitled"
esista e sia attiva WinWaitActive("Untitled", "", 5)

Riferimenti alle funzioni


WinWaitClose
Mette in pausa l'esecuzione dello script finchè la finestra richiesta non esiste.

WinWaitClose ( "titolo" [, "testo" [, timeout]] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 289 di 314

Parametri titolo testo timeout Il titolo della finestra da verificare. [opzionale]


Il testo della finestra da verificare. [opzionale] Timeout in secondi

Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se si verifica un


timeout.

Osservazioni Se la finestra non esiste quando questa funzione viene chiamata


ritornerà immediatamente 0. La finestra è controllata ogni 250 millisecondi circa.

Funzioni correlate WinActive, WinExists, WinWait, WinWaitActive, WinWaitNotActive,


WinWaitDelay (Option)

Esempio ;Aspetta che la finestra "Untitled" non esista WinWaitClose("Untitled")


;Aspetta al massimo 5 secondi che la finestra "Untitled" non esista
WinWaitClose("Untitled", "", 5)

Riferimenti alle funzioni


WinWaitNotActive
Mette in pausa l'esecuzione dello script finchè la finestra richiesta non è
attiva.

WinWaitNotActive ( "titolo" [, "testo" [, timeout]] )

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 290 di 314

Parametri titolo testo timeout Il titolo della finestra da verificare. [opzionale]


Il testo della finestra da verificare. [opzionale] Timeout in secondi

Valore di ritorno Ritorna 0 se il timeout si è verificato, altrimenti ritorna 1.

Osservazioni Lo script controlla che una finestra corrisponda ogni 250


millisecondi circa.

Funzioni correlate WinActive, WinExists, WinWait, WinWaitActive, WinWaitClose,


WinWaitDelay (Option)

Esempio ;Aspetta che la finestra "Untitled" non sia attiva


WinWaitNotActive("Untitled") ;Aspetta al massimo 5 secondi che la finestra
"Untitled" non sia attiva WinWaitNotActive("Untitled", "", 5)

Riferimenti alla libreria di funzioni


Le libreria di funzioni sono funzioni utente pre-scritte fornite con AutoIt. Per
usare una funzione usa semplicemente #include <include.au3> all'inizio del tuo
script file. Di seguito c'è una lista completa delle libreria di funzioni standard
disponibili in AutoIt. Clicca su un nome funzione per una descrizione dettagliata.

Funzione #include <Color.au3> _ColorGetRed

Descrizione Ottiene il componente rosso di un dato colore.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 291 di 314

_ColorGetGreen _ColorGetBlue #include <Date.au3> _DateDayOfWeek _DateDaysInMonth


_DateIsLeapYear _DateIsValidMonthNum

Ottiene il componente verde di un dato colore. Ottiene il componente blu di un


dato colore.

Ritorna il nome del weekday, basato sul giorno specificato. Ritorna il numero di
giorni in un mese, basato sul mese e anno specificato. Ritorna 1 se l'anno
specificato è un anno bisestile e ritorna 0 se non lo è. Ritorna 1 se il numero di
mese specificato è valido e ritorna 0 se non lo è. Ritorna 1 se l'anno specificato
è valido e ritorna 0 se non lo è. Ritorna il numero di mese precedente, basato sul
mese specificato. Ritorna l'anno del mese precedente, basato sul mese e anno
specificato. Ritorna il numero di weekday precedente, basato sul giorno della
settimana specificato. Ritorna il nome del mese, basato sul mese specificato.
Ritorna il numero del mese successivo, basato sul mese specificato. Ritorna l'anno
del mese successivo, basato sul mese e anno specificato. Ritorna il numero di
weekday successivo, basato sul giorno della settimana specificato. Converte il
tick specificato in ore, minuti, e secondi. Ritorna 1 se l'ora specificata è
valida e ritorna 0 se non lo è. Ritorna 1 se il minuto specificato è valido e
ritorna 0 se non lo è. Ritorna 1 se il secondo specificato è valido e ritorna 0 se
non lo è. Converte le ore, minuti, e secondi specificati in ticks.

_DateIsValidWeekdayNum Ritorna 1 se il numero di weekday è valido e ritorna 0 se


non lo è. _DateIsValidYear _DateLastMonthNum _DateLastMonthYear
_DateLastWeekdayNum _DateMonthOfYear _DateNextMonthNum _DateNextMonthYear
_DateNextWeekdayNum _TicksToTime _TimeIsValidHour _TimeIsValidMinute
_TimeIsValidSecond _TimeToTicks #include <File.au3> _DirRemoveContents _FileAppend
_FileCountLines _FileCreate _FileReadToArray _FileWriteLog #include <Math.au3>
Cancella i contenuti di una directory/cartella. Accoda il testo specificato ad un
file. Ritorna il numero di linee del file specificato. Crea il file specificato
con una lunghezza di zero bytes. Legge il file specificato in un array. Scrive il
testo specificato in un log file.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 292 di 314

_Max _Min #include <Process.au3> _RunDOS #include <String.au3> _StringRepeat


_StringReverse

Valuta quale di due numeri è maggiore. Valuta quale di due numeri è minore.

Esegue un comando DOS in una finestra di comandi nascosta.

Ripete una stringa uno specificato numero di volte. Inverte i contenuti di una
stringa specificata.

Appendix Reference
Caratteri Ascii CLSIDs of Cartelle Speciali Stili di Controlli GUI Splash... Fonts
OsLang Values Send Key List

Caratteri ASCII
Questa lista è utile con le funzioni Asc e Chr. I caratteri ASCII sono tratti da
ASCII Character Set Caratteri di Controllo (prevalentemente non stampabili; i più
utili sono evedenziati in giallo.) Char... NUL SOH STX ETX 0 1 2 3 Dec Hex 00 01
02 03 Carattere Null Inizio dell'intestazione, = console interrupt Inizio del
testo, maintenance mode su console HP Fine del testo Descrizione

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 293 di 314

EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB
ESC FS GS RS US

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 17 19 1a 1b 1c 1d 1e
1f

Fine della trasmissione, non lo stesso di ETB Interrogazione, va con ACK; vecchio
flusso di coltrollo HP Acknowledge, cancella ENQ logon hand Campanello, suona il
campanello... (Suona il beep di default di Windows) Backspace, funziona su
terminali/computer HP Tab orizzontale, muove fino al prossimo tab stop Line Feed
Tab verticale Form Feed, espulsione della pagina Carriage Return Shift Out, serie
alternativa di caratteri Shift In, ricomincia la serie di caratteri di default
Data link escape XON, con XOFF per sospendere listati; ":okay per inviare". Device
control 2, flusso di controllo block-mode XOFF, con XON è flusso di controllo
TERM=18 Device control 4 Autenticazione Negativa Sincrono inattivo Fine blocco di
trasmissione, non è lo stesso di EOT Cancel line, MPE echoes !!! Fine di medium,
Control-Y interrupt Sostituto Escape, il carattere successivo non è echoed
Separatore di File Separatore di Gruppo Separatore di Record, terminatore block-
mode Separatore di Unit

Caratteri di stampa (caratteri standard) Char ! " # Dec 32 33 34 35 Hex 20 21 22


23 Space Punto esclamativo Punto interrogativo (&quot; in HTML) Cross hatch
(number sign) Descrizione

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 294 di 314

$ % & ` ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H

36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
63 64 65 66 67 68 69 70 71 72

24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e
3f 40 41 42 43 44 45 46 47 48

Carattere Dollaro Carattere Percento Ampersand Apice singolo di chiusura


(apostrofo) Parentesi aperte Parentesi chiuse Asterisco (stella, moltiplicazione)
Più Virgola Divisione, trattino, meno Periodo Barra inclinata (forward slash,
divisione) Zero Uno Due Tre Quttro Cinque Sei Sette Otto Nove Due punti Puno e
virgola Segno minore Segno uguale Segno maggiore Punto interrogativo Segno At A
maiuscola B maiuscola C maiuscola D maiuscola E maiuscola F maiuscola G maiuscola
H maiuscola

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 295 di 314

I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109

49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63
64 65 66 67 68 69 6a 6b 6c 6d

I maiuscola J maiuscola K maiuscola L maiuscola M maiuscola N maiuscola O


maiuscola P maiuscola Q maiuscola R maiuscola S maiuscola T maiuscola U maiuscola
V maiuscola W maiuscola X maiuscola Y maiuscola Z maiuscola Parentesi quadra
aperta Barra inclinata al contrario (Backslash) Parentesi quadra chiusa Caret
(accento circonflesso) Carattere di sottolineatura Apice singolo aperto a
minuscola b minuscola c minuscola d minuscola e minuscola f minuscola g minuscola
h minuscola i minuscola j minuscola k minuscola l minuscola m minuscola

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 296 di 314

n o p q r s t u v w x y z { | } ~

110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f

n minuscola o minuscola p minuscola q minuscola r minuscola s minuscola t


minuscola u minuscola v minuscola w minuscola x minuscola y minuscola z minuscola
Parentesi graffa aperta Linea verticale Parentesi graffa chiusa Tilde (segno di
approssimazione) Delete (rubout), cross-hatch box

Set di caratteri estesi(ANSI) Char € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Dec 128 129 130 131 132
133 134 135 136 137 138 139 140 141 Hex 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D
Nota: Non visualizzato in questo file html compilato in help file Nota: Non
visualizzato in questo file html compilato in help file Descrizione

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 297 di 314

142 143 144

8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8
A9 AA AB AC AD AE AF B0 B1 B2 Nota: Può non essere visualizzato in questo file
html compilato in help file Nota: Non visualizzato in questo file html compilato
in help file Nota: Non visualizzato in questo file html compilato in help file
Nota: Non visualizzato in questo file html compilato in help file

‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬

145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
165 166 167 168 169 170 171 172 173

® ¯ ° ± ²

174 175 176 177 178

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 298 di 314

³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö ×

179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215

B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD
CE CF D0 D1 D2 D3 D4 D5 D6 D7

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 299 di 314

Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü

216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252

D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2
F3 F4 F5 F6 F7 F8 F9 FA FB FC

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 300 di 314

ý þ ÿ

253 254 255

FD FE FF

Lista CLSID
Per uso con FileOpenDialog, FileSaveDialog, o FileSelectFolder Lista tratta da
Online Security > Windows Tips & Tricks Nota: Non tutti i valori possono
funzionare come parametri per le funzioni AutoIt elencate sopra. Esempio:
FileSelectFolder ("Scegli una cartella.", "::{00000000-1080F9E5-6311-
4162E05A6BEE}", 1) Cartella Administrative Tools Briefcase Control Panel Fonts
History Inbox Microsoft Network My Computer My Documents My Network Places Network
Computers Network Connections Printers and Faxes Programs Folder Recycle Bin
Scanners and Cameras Scheduled Tasks Start Menu Folder Temporary Internet Files
Web Folders Valore per il parametro di directory del File___ "::{D20EA4E1-3957-
11d2-A40B-0C5020524153}" "::{85BBD92O-42A0-1O69-A2E4-08002B30309D}" "::{21EC2O2O-
3AEA-1O69-A2DD-08002b30309d}" "::{D20EA4E1-3957-11d2-A40B-0C5020524152}"
"::{FF393560-C2A7-11CF-BFF4-444553540000}" "::{00020D75-0000-0000-C000-
000000000046}" "::{00028B00-0000-0000-C000-000000000046}" "::{20D04FE0-3AEA-1069-
A2D8-08002B30309D}" "::{450D8FBA-AD25-11D0-98A8-0800361B1103}" "::{208D2C60-3AEA-
1069-A2D7-08002B30309D}" "::{1f4de370-d627-11d1-ba4f-00a0c91eedba}" "::{7007ACC7-
3202-11D1-AAD2-00805FC1270E}" "::{2227A280-3AEA-1069-A2DE-08002B30309D}"
"::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}" "::{645FF040-5081-101B-9F08-
00AA002F954E}" "::{E211B736-43FD-11D1-9EFB-0000F8757FCD}" "::{D6277990-4C6A-11CF-
8D87-00AA0060F5BF}" "::{48e7caab-b918-4e58-a94d-505519c795dc}" "::{7BD29E00-76C1-
11CF-9DD0-00A0C9034933}" "::{BDEADF00-C265-11d0-BCED-00A0C90AB50F}"

Fonts Windows Standard


Per uso con SplashTextOn (il parametro "fontname").

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 301 di 314

Lista basata su Standard Windows fonts Comunque, questa lista può contenere bugs!
I Fonts raccomandati sono evidenziati in giallo. FONT NAME Abadi MT Condensed
Light Arial Arial Alternative Regular Arial Alternative Symbol Arial Black Arial
Bold Arial Bold Italic Arial Italic Book Antiqua Calisto MT Century Gothic Century
Gothic Bold Century Gothic Bold Italic Century Gothic Italic Comic Sans MS Comic
Sans MS Bold Copperplate Gothic Bold Copperplate Gothic Light Courier Courier New
Courier New Bold Courier New Bold Italic Courier New Italic Estrangelo Edessa
Franklin Gothic Medium Franklin Gothic Medium Italic Gautami Georgia Georgia Bold
Georgia Bold Italic Georgia Italic Georgia Italic Impact Impact Latha x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Win95 WinNT Win98 x
x x x x x x x x x x x x x x Win2000 WinMe WinXP

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 302 di 314

Lucida Console Lucida Handwriting Italic Lucida Sans Italic Lucida Sans Unicode
Marlett Matisse ITC Modern Modern MS Sans Serif MS Sans Serif MS Serif Mv Boli
News Gothic MT News Gothic MT Bold News Gothic MT Italic OCR A Extended Palatino
Linotype Palatino Linotype Bold Palatino Linotype Bold Italic Palatino Linotype
Italic Roman Script Small Fonts Smallfonts Symbol Tahoma Tahoma Bold Tempus Sans
ITC Times New Roman Times New Roman Bold Times New Roman Bold Italic Times New
Roman Italic Trebuchet Trebuchet Bold Trebuchet Bold Italic Trebuchet Italic
Trebuchet MS Trebuchet MS Bold x x x x x x x x x

x x x x x x

x x x

x x x

x x x x x x x

x x x x x x x

x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x

x x x x x x x x x x x x x

x x

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 303 di 314

Trebuchet MS Bold Italic Trebuchet MS Italic Tunga Verdana Verdana Bold Verdana
Bold Italic Verdana Italic Webdings Westminster Wingdings WST_Czech WST_Engl
WST_Fren WST_Germ WST_Ital WST_Span WST_Swed x x x x x x x x

x x x x x x x x x x x x x x

x x x x x x x x x x x x x x x x x

@OSLang codes
Possibili valori di ritorno (stringhe) di @OSLang La lista è stata generata da
Windows 2000 - Lista di Locale IDs e Language Groups Note: I codici che contengono
lettere potrebbero avere lettere in maiuscolo. Codice 0436 041c 0401 0801 0c01
1001 1401 1801 1c01 2001 2401 2801 Significato Afrikaans Albanian
Arabic_Saudi_Arabia Arabic_Iraq Arabic_Egypt Arabic_Libya Arabic_Algeria
Arabic_Morocco Arabic_Tunisia Arabic_Oman Arabic_Yemen Arabic_Syria

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 304 di 314

2c01 3001 3401 3801 3c01 4001 042b 042c 082c 042d 0423 0402 0403 0404 0804 0c04
1004 1404 041a 0405 0406 0413 0813 0409 0809 0c09 1009 1409 1809 1c09 2009 2409
2809 2c09 3009 3409 0425

Arabic_Jordan Arabic_Lebanon Arabic_Kuwait Arabic_UAE Arabic_Bahrain Arabic_Qatar


Armenian Azeri_Latin Azeri_Cyrillic Basque Belarusian Bulgarian Catalan
Chinese_Taiwan Chinese_PRC Chinese_Hong_Kong Chinese_Singapore Chinese_Macau
Croatian Czech Danish Dutch_Standard Dutch_Belgian English_United_States
English_United_Kingdom English_Australian English_Canadian English_New_Zealand
English_Irish English_South_Africa English_Jamaica English_Caribbean
English_Belize English_Trinidad English_Zimbabwe English_Philippines Estonian

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 305 di 314

0438 0429 040b 040c 080c 0c0c 100c 140c 180c 0437 0407 0807 0c07 1007 1407 408
040d 0439 040e 040f 0421 0410 0810 0411 043f 0457 0412 0426 0427 042f 043e 083e
044e 0414 0814 0415 0416

Faeroese Farsi Finnish French_Standard French_Belgian French_Canadian French_Swiss


French_Luxembourg French_Monaco Georgian German_Standard German_Swiss
German_Austrian German_Luxembourg German_Liechtenstei Greek Hebrew Hindi Hungarian
Icelandic Indonesian Italian_Standard Italian_Swiss Japanese Kazakh Konkani Korean
Latvian Lithuanian Macedonian Malay_Malaysia Malay_Brunei_Darussalam Marathi
Norwegian_Bokmal Norwegian_Nynorsk Polish Portuguese_Brazilian

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 306 di 314

0816 0418 0419 044f 081a 0c1a 041b 0424 040a 080a 0c0a 100a 140a 180a 1c0a 200a
240a 280a 2c0a 300a 340a 380a 3c0a 400a 440a 480a 4c0a 500a 0441 041d 081d 0449
0444 041e 041f 0422 0420

Portuguese_Standard Romanian Russian Sanskrit Serbian_Latin Serbian_Cyrillic


Slovak Slovenian Spanish_Traditional_Sort Spanish_Mexican Spanish_Modern_Sort
Spanish_Guatemala Spanish_Costa_Rica Spanish_Panama Spanish_Dominican_Republic
Spanish_Venezuela Spanish_Colombia Spanish_Peru Spanish_Argentina Spanish_Ecuador
Spanish_Chile Spanish_Uruguay Spanish_Paraguay Spanish_Bolivia Spanish_El_Salvador
Spanish_Honduras Spanish_Nicaragua Spanish_Puerto_Rico Swahili Swedish
Swedish_Finland Tamil Tatar Thai Turkish Ukrainian Urdu

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 307 di 314

0443 0843 042a

Uzbek_Latin Uzbek_Cyrillic Vietnamese

Esempio MsgBox(0, "Il tuo linguaggio OS:", _Language()) Func _Language() Select
Case StringInStr("0413,0813", @OSLang) Ritorna "Dutch" Case
StringInStr("0409,0809,0c09,1009,1409,1809,1c09,2009,_ 2409,2809,2c09,3009,3409",
@OSLang) Ritorna "English" Case StringInStr("040c,080c,0c0c,100c,140c,180c",
@OSLang) Ritorna "French" Case StringInStr("0407,0807,0c07,1007,1407", @OSLang)
Ritorna "German" Case StringInStr("0410,0810", @OSLang) Ritorna "Italian" Case
StringInStr("0414,0814", @OSLang) Ritorna "Norwegian" Case StringInStr("0415",
@OSLang) Ritorna "Polish" Case StringInStr("0416,0816", @OSLang) Ritorna
"Portuguese" Case StringInStr("040a,080a,0c0a,100a,140a,180a,1c0a,200a,_
240a,280a,2c0a,300a,340a,380a,3c0a,400a,_ 440a,480a,4c0a,500a", @OSLang) Ritorna
"Spanish" Case StringInStr("041d,081d", @OSLang) Ritorna "Swedish" Case Else
Ritorna "Altro (può essere determinato direttamente con @OSLang" EndSelect EndFunc

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 308 di 314

Lista Send Key


Riferimenti rapidi per il comando Send ( "keys" [, flag] ) . ^ Ctrl ! Alt + Shift
# Win

Per inviare il valore ASCII A (lo stesso premendo ALT+065 sulla tastiera numerica)
Send("{ASC 65}") Chiavi singole possono essere anche ripetute, ad es. Send("{DEL
4}") ;Preme la chiave DEL 4 volte Send("{S 30}") ;Invia 30 caratteri 'S'
Send("+{TAB 4}) ;Preme SHIFT+TAB 4 volte Mantiene premuta una chiave (generalmente
utile solo per i giochi) Send("{a down}") ;Mantiene premuta la chiave A Send("{a
up}") ;Rilascia la chiave A Se vuoi usare una variabile per il conteggio, prova $n
= 4 Send("+{TAB " & $n & "}") Se vuoi inviare il valore ASCII A quattro volte,
prova $x = Chr(65) Send("{" & $x & " 4}") Molte tastiere di computer portatili
hanno una chiave speciale Fn. Questa chiave non può essere simulata. Nota,
impostando il parametro flag a 1 il parametro "keys" è inviato RAW. Ciò è utile
quando vuoi inviare del testo copiato da una variabile e vuoi che il testo sia
inviato esattamente come è scritto. Send è molto utile perchè le finestre possono
essere navigate senza bisogno del mouse. Per esempio, apri opzioni Cartelle (nel
Pannello di Controllo) e prova il seguente: Send("{TAB}") Send("+{TAB}")
Send("^{TAB}") Send("^+{TAB}") Send("{SPACE}") Send("{+}") Send("{-}") Send
("{NumPadMult}") Naviga fino al prossimo controllo (pulsante, checkbox, etc)
Naviga fino al precedente controllo. Naviga fino al prossimo WindowTab (su una
finestra Tabbed dialog) Naviga fino al precedente WindowTab. Può essere usato per
impostare una checkbox o cliccare sun un pulsante. Di solito è usato per
selezionare una checkbox (se è una checkbox "reale".) Di solito deseleziona una
checkbox. Espande ricorsivamente cartelle in una SysTreeView32.

Usa combinazioni Alt-key per accedere a voci di menu. Inoltre, apri Blocco Note e
prova il

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 309 di 314

seguente: Send("!f") Send ("{DOWN}") Send("{UP}") Send("{LEFT}") Send Alt+f, la


chiave di accesso per il menu File di Notepad. Prova altre lettere! Muove giù un
menu. Muove sù un menu. Muove a sinistra un nuovo menu o espande un submenu.

Send("{RIGHT}") Move a destra un nuovo menu o contrae un submenu.

Vedi l'Help di Windows--premi Win+F1--per una lista completa di shortcuts di


tastiera se non conosci l'importanza di Alt+F4, PrintScreen, Ctrl+C, e così via.

Comando Send (se il flag è zero) {!} {#} {+} {^} {{} {}} {SPACE} {ENTER} {ALT}
{BACKSPACE} or {BS} {DELETE} or {DEL} {UP} {DOWN} {LEFT} {RIGHT} {HOME} {END}
{ESCAPE} or {ESC} {INSERT} or {INS} {PGUP} {PGDN} {F1} - {F12} {TAB} {PRINTSCREEN}
{LWIN} {RWIN}

Chiavi premute ottenute ! # + ^ { } SPACE chiave ENTER sulla tastiera principale


ALT BACKSPACE DELETE Cursor up Cursor down Cursor left Cursor right HOME END
ESCAPE INS PGUP PGDN Function keys TAB PRINTSCR Left Windows key Right Windows key

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 310 di 314

{NUMLOCK} {CTRLBREAK} {PAUSE} {CAPSLOCK} {NUMPAD0} {NUMPAD9} {NUMPADMULT}


{NUMPADADD} {NUMPADSUB} {NUMPADDIV} {NUMPADDOT} {NUMPADENTER} {APPSKEY} {LALT}
{RALT} {LCTRL} {RCTRL} {LSHIFT} {RSHIFT} {SLEEP} {ALTDOWN} {SHIFTDOWN} {CTRLDOWN}
{LWINDOWN} {RWINDOWN} {ASC nnnn}

NUMLOCK Ctrl+Break PAUSE CAPSLOCK Numpad digits Numpad Multiply Numpad Add Numpad
Subtract Numpad Divide Numpad period Enter key on the numpad Windows App key Left
ALT key Right ALT key Left CTRL key Right CTRL key Left Shift key Right Shift key
Computer SLEEP key Mantiene la chiave ALT premuta finchè è inviato {ALTUP}
Mantiene la chiave SHIFT premuta finchè è inviato {SHIFTUP} Mantiene la chiave
CTRL premuta finchè è inviato {CTRLUP} Mantiene la chiave left Windows premuta
finchè è inviato {LWINUP} Mantiene la chiave right Windows premuta finchè è
inviato {RWINUP} Invia la combinazione ALT+nnnn

Solo 2000/XP: Seleziona il pulsante "back" del browser Solo 2000/XP: Seleziona il
pulsante "forward" del {BROWSER_FORWARD} browser Solo 2000/XP: Seleziona il
pulsante "refresh" del {BROWSER_REFRESH} browser Solo 2000/XP: Seleziona il
pulsante "stop" del {BROWSER_STOP} browser Solo 2000/XP: Seleziona il pulsante
"search" del {BROWSER_SEARCH} browser Solo 2000/XP: Seleziona il pulsante
"favorites" {BROWSER_FAVORITES} del browser {BROWSER_BACK}

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 311 di 314

Solo 2000/XP: Lancia il browser e va alla home page {VOLUME_MUTE} Solo 2000/XP:
Disattiva il volume {VOLUME_DOWN} Solo 2000/XP: Riduce il volume {VOLUME_UP} Solo
2000/XP: Aumenta il volume Solo 2000/XP: Seleziona la prossima traccia in
{MEDIA_NEXT} media player Solo 2000/XP: Seleziona la traccia precedente in
{MEDIA_PREV} media player {MEDIA_STOP} Solo 2000/XP: Stop media player
{MEDIA_PLAY_PAUSE} Solo 2000/XP: Play/pause media player Solo 2000/XP: Lancia
l'applicazione di default per {LAUNCH_MAIL} le email {LAUNCH_MEDIA} Solo 2000/XP:
Lancia media player {LAUNCH_APP1} Solo 2000/XP: Lancia user app1 {LAUNCH_APP2}
Solo 2000/XP: Lancia user app2 {BROWSER_HOME}

Ringraziamenti
In nessun ordine in particolare, ma grazie a tutti! (-Jon) Per favore vedi qui per
i dettagli sui contributi al codice. (Inviatemi un'email se non siete stati
inclusi).

AutoIt v3 Coding
- Jonathan Bennett <jon@hiddensoft.com> - Larry Keys <larrydalooza@yahoo.com> -
David Nuttall <danuttall@autoit3> - J-Paul Mesnage <jpaul-mesnage@ifrance.com> -
Jason Boggs <vampirevalik@hotmail.com> - Tylo <tylo@start.no> - Jeremy Landes
<jlandes@landeserve.com> - Cyberslug <cyberslug@autoitscript.com> - JdeB
<jvdzande@yahoo.com> - Holger <Holger.Kotsch@GMX.de> - Garrett "The
HardlyDeservesCreditFor20LinesOfCode" R. Mueller ;) <garrett@mailsnare.net>

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 312 di 314

AutoIt v3 Help Files


- Molti di quelli riportati in alto; inoltre: - Philip "CyberSlug" Gump
<cyberslug@autoitscript.com> (e scripts di aiuto) - JdeB <jvdzande@yahoo.com> (ed
helper scripts) - ScriptyKitty <scriptkitty@4dd.net> - Giuseppe Criaco
<gcriaco@quipo.it> (traduzione italiana)

AutoIt v3 Standard Includes


- Gli autori come documentato negli stessi file Include. - Jeremy Landes
<jlandes@landeserve.com> - Brian Keene <brian_keene@juno.com> - Molte grazie a
Jeremy e Brian per averli compilati/modificati tutti.

AutoIt v3 Extras and Third Party Tools


- JdeB <jvdzande@yahoo.com> (AutoIt version of the Scite editor)

Speciali ringraziamenti
- Chiunque continui ad usare e supportare AutoIt - Jeremy Landes per aver fornito
capacità extra per il download in http://www.landeserve.com - Gli autori di UPX
che è usato per creare gli eseguibili compressi prodotti da AutoIt.

History
Qui è riportata la cronologia pubblica di AutoIt v3. Per il log tecnico completo
che include versioni beta clicca qui.

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 313 di 314

4th Aug, 2004 - v3.0.102 Cambiamento principale: I colori ora per default sono
conformi al formato standard RGB piuttosto che al precedente formato BGR. Ciò
riguarda PixelSearch() e PixelGetColor(). L'opzione "ColorMode" è stata aggiunta
per consentire a vecchi scripts di essere eseguiti con la modalità BGR,
semplicemente poni questa linea all'inizio del tuo script per usare il vecchio
metodo, ad es.: Opt("ColorMode", 1) Se usi funzioni colore nel tuo codice DEVI
considerare i cambiamenti riportati e o cambiare i colori nel tuo cidice O
aggiungere l'opzione Opt ColorMode come mostrato in precedenzae. Ciò riguarda in
particolare BOTs e il codice che interagisce con i giochi. Aggiunto:
DriveMapAdd(), DriveMapDel() and DriveMapGet() Aggiunto: @SW_SHOWDEFAULT,
@SW_SHOWMAXIMIZED, @SW_SHOWMINIMIZED, @SW_SHOWMINNOACTIVE, @SW_SHOWNA,
@SW_SHOWNOACTIVATE, @SW_SHOWNORMAL Aggiunto: FileGetShortcut() Aggiunto: La
variabile predefinita $CmdLineRaw ora mantiene completamente la command line
originale Aggiunto: @DesktopDepth Aggiunto: ReDim Aggiunto: Più parametri da
command line per Aut2Exe.exe: /nodecompile and /comp 0-4 (compression level,
4=best) Aggiunto: Supporto Process ID (PID) per Process...() e funzioni Run()
Aggiunto: ProcessSetPriority() Aggiunto: Decompiler (Exe2Aut) aggiunto Aggiunto:
PixelChecksum() Aggiunto: Stringhe che iniziano con "0x" sono convertite da
esadecimale quando usate numericamente Aggiunto: MouseWheel() Aggiunto:
RegEnumKey() and RegEnumVal() Aggiunto: FileRecycleEmpty() Cambiato: TimerStart()
rinominata in TimerInit(). TimerStop() rinominata in TimerDiff() Cambiato:
FileSelectFolder() parametro flag cambiato Cambiato: REG_MULTI_SZ valori in
funzioni Reg...() consentono doppi valori NULL Cambiato: BirOr(), BitAnd() e
BitXOR() accettano fino a 255 parametri Cambiato: Icon e windowstate options
aggiunte a FileCreateShortcut() Cambiato: RunAsSet() supporta un profilo extra
manipolando opzioni Cambiato: RegWrite() ora accetta semplicemente keyname al fine
di creare un keyname senza valore Cambiato: "Opzione Allow Decompilation" aggiunta
a Aut2Exe Cambiato: Aut2Exe fornisce feedback durante la compilazione e fornisce
l'opzione di interrompere l'esecuzione Cambiato: Scripts compilati si
eseguono/estraggono molto più velocemente quando usi FileInstall e files
medi/larghi Cambiato: Rimosso il limite del numero massimo di funzioni utente
Cambiato: Rimosso il limite del numero massimo di variabili

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
AutoIt

Pagina 314 di 314

Cambiato: -1 non diventa inattivo per ritardi Send/Mouse (SendKeyDelay, etc...)


Cambiato: Opzionale parametro occorrenza aggiunto a StringInStr() Cambiato:
Opzionale default filename aggiunto a FileOpenDialog() e FileSaveDialog()
Cambiato: Funzioni di Registry accettano chiavi di 4 lettere (HKLM invece di
HKEY_LOCAL_MACHINE, etc.) Cambiato: Chiavi di Registry remote sono accettate nella
forma "\\computername\key\subkey" Cambiato: AutoItSetOption ritorna la
configurazione precedente Corretto: FileGetSize() funziona su >2GB files e files
in uso Corretto: L'espressione: If "non-blank" And 1 - ora è valutata come true
Corretto: ToolTip() quando il mouse è vicino al fondo dello schermo Corretto:
StringIsDigit() Corretto: Funzioni Process...() sotto NT4 non possono vedere certi
processi Corretto: Alcune parole chiave erano permesse incorrettamente dopo una
parola chiave THEN

11 Marzo 2004 - v3.0.101 Aggiunto: MemGetStats() Corretto: compatibilità Windows


95a Corretto: Errori di digitazione nell'help file

29 Febbraio 2004 - v3.0.100 Release iniziale

file://D:\Documents and Settings\Francesco\Impostazioni locali\Temp\~hh18CA.htm

18/05/2008
ERROR: syntaxerror OFFENDING COMMAND: --nostringval-STACK: /Title () /Subject
(D:20080518142830+02’00’) /ModDate () /Keywords (PDFCreator Version 0.9.5)
/Creator (D:20080518142830+02’00’) /CreationDate (Francesco) /Author -mark-

Potrebbero piacerti anche