Sei sulla pagina 1di 316

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


AutoIt3.exe
per eseguire scripts)
AU3_Spy.exe Il tool AutoIt Window Spy
AutoIt.chm Questo file di help
Process...() function helper DLL - usato solo sotto Windows NT 4
PSAPI.DLL
(file Microsoft ridistribuibile)

Files include standard (funzioni utente pre-scritte - vedi Library


\ Include
Functions)
\ Icone Icone usate per l'icona del tipo di file .au3 in Explorer

\ Aut2Exe Componenti del Compilatore di Script di AutoIt


\ Aut2Exe \ Aut2Exe.exe Il compilatore di script
\ Aut2Exe \ AutoItSC.bin Matrice eseguibile per scripts compilati
\ Aut2Exe \ upx.exe Il compressore UPX
\ Aut2Exe \ Icons Icone per uso negli scripts compilati

\ Esempi Esempi di scripts AutoIt

\ Extra Files forniti da terze parti


\ Extras \ Exe2Aut Decompilatori di script compilati (da .exe a .au3)
\ Extra \ v2_to_v3_Converter Un convertitore di script da v2.64 a v3
Syntax highlighting files per editors conosciuti (e scripts per auto-
\ Extra \ Editors
installazioni )

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 ctrl-
c 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")

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 Funzione equivalente nella versione 3


AdlibOn AdlibEnable
BlockInput BlockInput
Break Break
DetectHiddenText AutoItSetOption("WinDetectHiddenText",...)
Exit Exit
EnvAdd [vedi l'operatore +]
EnvDiv [vedi l'operatore /]
EnvMult [vedi l'operatore *]
EnvSub [vedi l'operatore -]
FileAppend [FileOpen(...,2) seguito da FileWriteLine]
FileCopy FileCopy
FileCreateDir DirCreate
FileDelete FileDelete or FileRecycle
FileInstall FileInstall
FileReadLine FileReadLine
FileRemoveDir DirRemove
FileSelectFile FileOpenDialog or FileSaveDialog
Gosub [vedi Func...EndFunc]
Return [vedi Func...EndFunc]
Goto [non richiesto]
HideAutoItDebug --
HideAutoItWin AutoItSetOption("TrayIconHide",...)
IfInString If StringInStr(...) Then
IfNotInString If Not StringInStr(...) Then

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


AutoIt Pagina 27 di 314

IfWinExist If WinExists(...) Then


IfWinNotExist If Not WinExists(...) Then
IfWinActive If WinActive(...) Then
IfWinNotActive If Not WinActive(...) Then
IfEqual [vedi gli operatori = e ==]
IfNotEqual [vedi l'operatore <>]
IfGreater [vedi l'operatore >]
IfGreaterOrEqual [vedi l'operatore >=]
IfLess [vedi l'operatore <]
IfLessOrEqual [vedi l'operatore <=]
IfExist FileExists
IfNotExist If Not FileExists(...) Then
IfMsgBox [vedi MsgBox(...) e Select...Case...EndSelect]
IniRead IniRead
IniWrite IniWrite
IniDelete IniDelete
InputBox InputBox
LeftClick MouseClick("left",...)
RightClick MouseClick("right",...)
LeftClickDrag MouseClickDrag("left",...)
RightClickDrag MouseClickDrag("right",...)
MouseGetPos MouseGetPos
MouseMove MouseMove
MsgBox MsgBox
Random Random
RegRead RegRead
RegWrite RegWrite
RegDelete RegDelete
Repeat [vedi For...Next]
EndRepeat [vedi For...Next]
Run Run
RunWait RunWait
Send Send
SetCapslockState SendSetCapslockState
SetEnv EnvSet
SetBatchLines --
SetKeyDelay AutoItSetOption("SendKeyDelay",...)

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


AutoIt Pagina 28 di 314

SetStoreCapslockMode AutoItSetOption("SendCapslockMode",...)
SetTitleMatchMode AutoItSetOption("WinTitleMatchMode",...)
SetWinDelay AutoItSetOption("WinWaitDelay",...)
Shutdown Shutdown
Sleep Sleep
SplashTextOn SplashTextOn e altre
SplashTextOff SplashOff
StringCaseSense [vedi funzioni individuali]
StringLeft StringLeft
StringRight StringRight
StringMid StringMid
StringLen StringLen
StringReplace StringReplace
StringTrimLeft StringTrimLeft
StringTrimRight StringTrimRight
StringGetPos StringInStr
WinGetActiveStats [vedi WinGetPos, WinGetTitle, WinGetText]
WinGetActiveTitle WinGetTitle("")
WinKill WinKill
WinWait WinWait
WinWaitClose WinWaitClose
WinWaitActive WinWaitActive
WinWaitNotActive WinWaitNotActive
WinHide WinSetState(..., @SW_HIDE)
WinShow WinSetState(..., @SW_SHOW)
WinRestore WinSetState(...,@SW_RESTORE)
WinMinimize WinSetState(...,@SW_MINIMIZE)
WinMaximize WinSetState(...,@SW_MAXIMIZE)
WinActivate WinActivate
WinClose WinClose
WinMove WinMove
WinSetTitle WinSetTitle
WinMinimizeAll WinMinimizeAll
WinMinimizeAllUndo WinMinimizeAllUndo
#Include #Include
%CLIPBOARD% [vedi ClipGet e ClipPut]
A_OSTYPE @OSType

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


AutoIt Pagina 29 di 314

A_OSVERSION @OSVersion
A_SCRIPTNAME @ScriptName
A_SCRIPTDIR @ScriptDir
A_SCRIPTFULLPATH @ScriptFullPath
A_WORKINGDIR @WorkingDir
A_NUMBATCHLINES --
A_SEC @SEC
A_MIN @MIN
A_HOUR @HOUR
A_MDAY @MDAY
A_MON @MON
A_YEAR @YEAR
A_WDAY @WDAY
A_YDAY @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


Un numero a "doppia precisione" che è un numero con una precisione di 15 cifre
Numerico
nel range da 1.7E–308 a 1.7E+308. (Memorizzato internamente come 8 bytes)
Stringa 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
+ Addiziona due numeri. ad es. 10 + 20 (è uguale a 30)
- Sottrae due numeri. ad es. 20 - 10 (è uguale a 10)
* Moltiplica due numeri. ad es. 20 * 10 (è uguale a 200)
/ Divide due numeri. ad es. 20 / 10 (è uguale a 2)
& Concatena/unisce due stringhe. ad es. "one" & 10 (è uguale a "one10")
^ Eleva un numero alla potenza. ad es. 2 ^ 4 (è uguale a 16)
NOT Operatore logico NOT. ad es. NOT 1 (è uguale a 0)

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 (true se $var è
AND
uguale a 5 e $var2 è più grande di 6)
Operatore logico OR. ad es. If $var = 5 OR $var2 > 6 Then (true se $var è uguale
OR
a 5 o $var2 è più grande di 6)

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 (è uguale a 40)

2 + 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 Descrizione
#comments-start Specifica che un'intera sezione di uno script è commentata.
ContinueLoop Continua un While/Do/For loop.
Dim / Global / Local Dichiara una variabile o crea un array.
Do...Until Loop basato su un'espressione.
Exit Termina lo script.
ExitLoop Termina un loop While/Do/For.
For...Next Loop basato su un'espressione.
Definisce una funzione user-defined che riceve zero o più argomenti e
Func...Return...EndFunc
opzionalmente ritorna un risultato.
If...Then Esegue una singola istruzione condizionatamente.
If...ElseIf...Else...EndIf Esegue istruzioni condizionatamente.
#include Include un file nello script corrente.
#include-once Specifica che il file corrente può essere incluso una volta sola.
Select...Case...EndSelect Esegue istruzioni condizionatamente.
While...WEnd Loop basato su un'espressione.

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.
filename
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!

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-ElseIf-
End, 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 Il nome della variabile da dichiarare.


subscript 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
codice di
default è 0. Gli scripts normalmente impostano un errorlevel a 0 se lo script è
ritorno
eseguito correttamente; error levels 1 e superiori tipicamente indicano che lo script
non è stato eseguito correttamente.

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

[opzionale] Il numero di livelli di loop da interrompere. Il default è 1 (si intende il


livello
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 loop-
test 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 La variabile usata per il conteggio.


start Il valore numerico iniziale della variabile.
stop Il valore numerico finale della variabile.
[opzionale] Il valore numerico (possibilmente piccolo) con il quale il contatore è
stepval
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

Se l'espressione è vera, viene eseguito il primo blocco di istruzioni. Se è falsa, il


espressione
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 Il nome della variabile da ridimensionare.


subscript 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

Se l'espressione è vera le istruzioni seguenti fino all'istruzione WEnd vengono


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

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


AutoIt Pagina 56 di 314

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


@IPAddress3
applicabile.
IP address della quarta scheda di rete. Ritorna 0.0.0.0 se non
@IPAddress4
applicabile.
@LF Line feed, Chr(10); Tipicamente usato per interruzioni di linea.
@LogonDNSDomain Dominio DNS di Logon.
@LogonDomain Dominio di Logon.
@LogonServer Logon server.
@MDAY Giorno corrente del mese. Il range va da 01 a 31
@MIN Valore dei minuti dell'orologio. Il range va da 00 a 59
@MON Mese corrente. Il range va da 01 a 12
@MyDocumentsDir path alla cartella My Documents
Ritorna il numero di build del OS. Ad esempio, Windows 2003
@OSBuild
Server ritorna 3790
Ritorna il codice che contraddistingue il linguaggio di OS. Vedi
@OSLang
l'Appendice per i possibili valori.
Informazioni su Service pack nella forma di "Service Pack 3" o,
@OSServicePack
per Windows 95, può ritornare "B"
Ritorna "WIN32_NT" per NT/2000/XP e ritorna
@OSTYPE
"WIN32_WINDOWS" per 95/98/Me
Ritorna uno dei seguenti valori: WIN_XP, WIN_2000,
@OSVersion
WIN_NT4, WIN_ME, WIN_98, WIN_95
@ProgramFilesDir path alla cartella Program Files
@ProgramsCommonDir path alla cartella Programmi del menu Start
path alla cartella Programmi dell'utente corrente (cartella del
@ProgramsDir
menu Start)
Directory contenente lo script in esecuzione. (Il risultato non
@ScriptDir
termina con il carattere backslash)
@ScriptFullPath Equivalente a @ScriptDir & "\" & @ScriptName
@ScriptName Filename lungo di uno script in esecuzione.
@SEC Valore dei secondi dell'orologio. Il range va da 00 a 59
@StartMenuCommonDir path alla cartella del menu Start
@StartMenuDir path al menu Start dell'utente corrente
@StartupCommonDir path alla cartella Esecuzione automatica
@StartupDir cartella Esecuzione automatica dell'utente corrente
@SW_HIDE Nasconde la finestra e attiva un'altra finestra.
@SW_MAXIMIZE Massimizza la finestra specificata.
Minimizza la finestra specificata e attiva la successiva finestra
@SW_MINIMIZE
top-level nel Z order.

@SW_RESTORE 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.
Attiva la finestra e la visualizza nella sua posizione e
@SW_SHOW
dimensione correnti.
Imposta lo stato di visualizzazione in base al valore SW_
@SW_SHOWDEFAULT
specificato dal programma che ha avviato l'applicazione.
@SW_SHOWMAXIMIZED Attiva la finestra e la visualizza come finestra massimizzata.
@SW_SHOWMINIMIZED 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.
Visualizza la finestra nella sua posizione e dimensioni correnti.
@SW_SHOWNA Questo valore è simile a @SW_SHOW, eccetto che la finestra
non viene attivata.
Visualizza una finestra nella sua posizione e dimensioni più
@SW_SHOWNOACTIVATE 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
@SW_SHOWNORMAL
dimensioni originali. Un'applicazione dovrebbe specificare
questo flag quando visualizza una finestra per la prima volta.
@SystemDir path alla cartella di sistema di Windows (o System32)
@TAB Carattere Tab, Chr(9)
@TempDir Path alla cartella "temporary files".
@UserProfileDir Path alla cartella di Profilo dell'utente corrente.
@UserName ID dell'utente correntemente loggato.
Giorno numerico della settimana. Il range va da 1 a 7 e
@WDAY
corrisponde al range da Domenica a Sabato.
@WindowsDir path alla cartella Windows
Directory di lvoro corrente/attiva. (Il risultato non contiene un
@WorkingDir
carattere finale backslash)
Giorno corrente dell'anno. Il range va da 1 a 366 (o 365 se non è
@YDAY
un anno bisestile)
@YEAR Anno corrente a quattro cifre

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 Descrizione
Ritorna 1 se uno script è un eseguibile complilato; altrimenti,
@compiled
ritorna 0.
@error Status del flag error. Vedi la funzione SetError.
@ScriptName Filename dello script in esecuzione.
Directory contenente lo script in esecuzione. (Il risultato non
@ScriptDir
contiene un backslash finale)
@ScriptFullPath Equivalente a @ScriptDir & "\" & @ScriptName
Directory di lavoro corrente/attiva. (Il risultato non contiene un
@WorkingDir
backslash finale)
@AutoItVersion Numero di versione di AutoIt come 3.0.91.0

Per uso con le funzioni WinSetState, Run, RunWait :


@SW_HIDE Nasconde la finestra e attiva un'altra finestra.
@SW_MAXIMIZE Massimizza la finestra specificata.
Minimizza la finestra specificata e attiva la successiva finestra
@SW_MINIMIZE
top-level nello Z order.
Attiva and visualizza la finestra. Se la finestra è minimizzata o
massimizzata, il sistema la riporta alla sua dimensione e
@SW_RESTORE
posizione originale. Un'applicazione dovrebbe specificare
questo flag quando ripristina una finestra minimizzata.
Attiva la finestra e la visualizza con la sua posizione e
@SW_SHOW
dimensione correnti.
Imposta lo stato di visualizzazione in base al valore SW_
@SW_SHOWDEFAULT
specificato dal programma che ha avviato l'applicazione.
@SW_SHOWMAXIMIZE Attiva la finestra e la visualizza come finestra massimizzata.
@SW_SHOWMINIMIE Attiva la finestra e la visualizza come finestra minimizzata.
visualizza la finestra come finestra minimizzata. Questo valore è
@SW_SHOWMINNOACTIVE simile a @SW_SHOWMINIMIE, eccetto che la finestra non è
attivata.
visualizza la finestra con la sua posizione e dimensione corrente.
@SW_SHOWNA Questo valore è simile a @SW_SHOW, eccetto che la finestra
non è attivata.
visualizza una window con la sua posizione e dimensione più
@SW_SHOWNOACTIVATE 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
@SW_SHOWNORMAL
e dimensione. Un'applicazione dovrebbe specificare questo flag
quando visualizza la finestra per la prima volta.

@CR Carriage return, Chr(13); talvolta usato per interruzioni di linea.


@LF Line feed, Chr(10); usato tipcamente per interruzioni di linea.

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


AutoIt Pagina 59 di 314

= @CR & @LF; usato occasionalmente per interruzioni di


@CRLF
linea.
@TAB 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 path all'Application Data
@DesktopCommonDir path al Desktop
@DocumentsCommonDir path a Documents
@FavoritesCommonDir path a Favorites
@ProgramsCommonDir path alla cartella Start Menu's Programs
@StartMenuCommonDir path alla cartella Start Menu
@StartupCommonDir path alla cartella Startup

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


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

Altre macros per il computer system:


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

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


AutoIt Pagina 60 di 314

@LogonDNSDomain Logon DNS Domain.


@LogonDomain Logon Domain.
@LogonServer Logon server.
@ProgramFilesDir path alla cartella Program Files
@CommonFilesDir path alla cartella Common Files
@WindowsDir path alla cartella Windows
@SystemDir path alla cartella Windows' System (o System32)
@TempDir path alla cartella temporary files
valore di %comspec%, l'interprete secondario di comandi specificato ;
@ComSpec 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
@OSLang
valori possibili.
Ritorna "WIN32_NT" per NT/2000/XP e ritorna "WIN32_WINDOWS"
@OSType
per 95/98/Me
Ritorna uno dei seguenti: WIN_XP, WIN_2000, WIN_NT4, WIN_ME,
@OSVersion
WIN_98, WIN_95
Ritorna il numero di build OS. Per esempio, Windows 2003 Server
@OSBuild
ritorna 3790
Informazioni sui Service pack nel formato di "Service Pack 3" o, per
@OSServicePack
Windows 95, può ritornare "B"

@ComputerName Il nome di rete del computer.


@UserName ID dell'utente loggato attualmente.
@IPAddress1 Tende a ritornare 127.0.0.1 su alcuni computers.
IP address della seconda scheda di rete. Ritorna 0.0.0.0 se non
@IPAddress2
applicabile.
@IPAddress3 IP address della terza 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 61 di 314

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

@DesktopWidth Larghezza dello schermo in pixels. (risoluzione verticale)


@DesktopHeight Altezza dello schermo in pixels. (risoluzione orizzontale)
@DesktopDepth Profonfità dello schermo in bits per pixel.
@DesktopRefresh 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 Descrizione
@SEC Valore dei secondi dell'orologio. Il range va da 00 a 59
@MIN Valore dei minuti dell'orologio. Il range va da 00 a 59
@HOUR Valore delle ore dell'orologio nel formato 24-ore. Il range va da 00 a 23
@MDAY Giorno corrente del mese. Il range va da 01 a 31
@MON Mese corrente. Il range va da 01 a 12
@YEAR Anno corrente a quattro cifre
Numero del giorno della settimana. Il range va da 1 a 7 che corrisponde
@WDAY
al range da Domenica a Sabato.
Giorno corrente dell'anno. Il range va da 1 a 366 (o 365 se non è un anno
@YDAY
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 Descrizione
Abs Calcola il valore assoluto di un numero.
ACos 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 Disabilita la funzionalità Adlib.


AdlibEnable Abilita la funzionalità Adlib.
Asc Ritorna il codice ASCII di un carattere.
ASin Calcola 'arcoseno di un numero.
ATan Calcola l'arcotangente di un numero.
AutoItSetOption Cambia le opzioni di varie funzioni/parametri di AutoIt.
AutoItWinGetTitle Ricava il titolo della finestra di AutoIt.
AutoItWinSetTitle Cambia il titolo della finestra di AutoIt.
BitAND Esegue un'operazione bitwise AND.
BitNOT Esegue un'operazione bitwise NOT.
BitOR Esegue un'operazione bitwise OR.
BitShift Esegue un'operazione di trasferimento di bit.
BitXOR Esegue un'operazione bitwise esclusiva OR (XOR).
BlockInput Disabilita/abilita il mouse e la tastiera.
Abilita o disabilita la possibilità per l'utente di chiudere uno script dal
Break
menu della tray icon.
Chiama una funzione definita dall'utente contenuta in un parametro
Call
stringa.
CDTray Apre o chiude lo sportello del CD.
Chr Ritorna un carattere corrispondente af un codice ASCII.
ClipGet Recupera testo dalla clipboard.
ClipPut Scrive testo nella clipboard.
ControlClick Invia un comando di click del mouse ad un dato controllo.
ControlCommand Invia un comando ad un controllo.
ControlDisable Disabilita o "colora di grigio" un controllo.
ControlEnable Abilita un controllo "colorato di grigio".
ControlFocus Imposta il focus su un dato controllo in una finestra.
Ritorna il ControlRef# del controllo che ha il focus della tastiera entro una
ControlGetFocus
specifica finestra.
Recupera la posizione e la dimensione di un controllo relativamente alla
ControlGetPos
sua finestra.
ControlGetText Recupera il testo da un controllo.
ControlHide Nasconde un controllo.
ControlMove Muove un controllo all'interno di una finestra.
ControlSend Invia una stringa di caratteri ad un controllo.
ControlSetText Imposta il testo di un controllo.
ControlShow Mostra un controllo che era nascosto.
Cos Calcola il coseno di un numero.
Dec 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 Copia una directory e tutte le sub-directory e file (Simile a xcopy).


DirCreate Crea una directory/folder.
DirMove Muove una directory e tutte le sub-directory e files.
DirRemove Cancella una directory.
DriveGetDrive Ritorna un array contenente i drive elencati.
DriveGetFileSystem Ritorna il tipo di File System di un drive.
DriveGetLabel Ritorna la Label di Volume di un drive, se ne ha uno.
DriveGetSerial Ritorna il Serial Number di un drive.
DriveGetType Ritorna il tipo di drive.
DriveMapAdd Mappa un network drive.
DriveMapDel Disconnette un network drive.
DriveMapGet Recupera i dettagli di un drive mappato.
DriveSetLabel Imposta la Label di Volume di un drive.
DriveSpaceFree Ritorna lo spazio libero su disco di un path in Megabytes.
DriveSpaceTotal Ritorna lo spazio disco totale di un path in Megabytes.
DriveStatus Ritorna lo status di un drive sotto forma di stringa.
EnvGet Recupera una variabile di ambiente.
EnvSet Scrive una variabile di ambiente.
EnvUpdate Aggiorna l'ambiente OS.
Eval Ritorna il valore della variabile il cui nome è fornito da un'espressione.
Exp Calcola e alla potenza di un numero.
FileChangeDir Cambia la directory di lavoro corrente.
FileClose Chiude un file di testo aperto in precedenza.
FileCopy Copia uno o più file.
FileCreateShortcut Crea uno shortcut (.lnk) ad un file.
FileDelete Cancella uno o più file.
FileExists Controlla se un file o directory esiste.
FileFindFirstFile Ritorna un filename in base alla stringa di ricerca.
Ritorna un filename in base alla precedente call alla funzione
FileFindNextFile
FileFindFirstFile.
FileGetAttrib Ritorna una stringa che rappresenta gli atributi di un file.
FileGetLongName Ritorna il path+name lungo del path+name fornito.
FileGetShortcut Recupera i dettagli circa uno shortcut.
FileGetShortName Ritorna il path+namethe 8.3 breve del path+name fornito.
FileGetSize Ritorna la dimensione di un file in bytes.
FileGetTime Ritorna la data e ora di un file.
FileGetVersion Ritorna la versione di un "File".
FileInstall 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 Muove uno o più files.


FileOpen Apre un file di testo in lettura o scrittura.
FileOpenDialog Avvia una Dialog Box "Open File".
FileRead Legge un numero di caratteri da un file di testo aperto in precedenza.
FileReadLine Legge una riga da un file di testo aperto in precedenza.
FileRecycle Invia un file o directory nel Cestino, se possibile.
FileRecycleEmpty Svuota il cestino.
FileSaveDialog Avvia una Dialog Box "Save File".
FileSelectFolder Avvia una GUI "Browse For Folder".
FileSetAttrib Imposta gli attributi di uno o più file.
FileSetTime Imposta data e ora di uno o più file.
FileWrite Accoda una linea di testo ad un file di testo aperto in precedenza.
FileWriteLine Accoda una linea di testo ad un file di testo aperto in precedenza.
Ritorna la rappresentazione in formato stringa di un numero intero
Hex
convertito in esadecimale.
HotKeySet Imposta una hotkey che chiama una funzione utente.
IniDelete Cancella un valore da un file .ini standard.
IniRead Legge un valore da un file .ini standard.
IniWrite Scrive un valore in un file .ini standard.
InputBox Visualizza un input box per chiedere all'utente di digitare una stringa.
Int Ritorna la rappresentazione numerica (numero intero) di un'espressione.
IsAdmin Controlla se l'utente corrente a diritti di amministrazione.
IsArray Controlla se una variabile è di tipo array.
IsDeclared Controlla se una variabile è stata dichiarata.
IsFloat Controlla se una variabile o espressione è di tipo float.
IsInt Controlla se una variabile o espressione è di tipo integer.
IsNumber Controlla se il tipo di una variabile è numerico.
IsString Controlla se una variabile è di tipo stringa.
Log Calcola il logaritmo naturale di un numero.
MemGetStats Recupera informazioni relative alla memoria.
Mod Esegue l'azione modulo.
MouseClick Esegue un'azione di mouse click.
MouseClickDrag Esegue un'azione di mouse click e trascinamento.
MouseDown Esegue un evento di "mouse down" alla posizione corrente del mouse.
MouseGetCursor Ritorna a cursor ID Number del cursore del mouse corrente.
MouseGetPos Recupera la posizione corrente del cursore del mouse.
MouseMove Muove il puntatore del mouse.
MouseUp 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 Muove la rotellina del mouse su o giù. SOLO NT/2000/XP.


MsgBox Visualizza una semplice message box con un timeout opzionale.
Number Ritorna la rappresentazione numerica di un'espressione.
PixelChecksum Genera un checksum per una regione di pixels.
PixelGetColor Ritorna il colore di un pixel in base alle coordinate x,y del pixel.
PixelSearch Ricerca un rettangolo di pixel per il colore di pixel fornito.
ProcessClose Termina un dato processo.
ProcessExists Controlla se uno specifico processo esiste.
ProcessSetPriority Cambia la priorità di un processo
ProcessWait 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
ProcessWaitClose
chiuso.
ProgressOff Chiude una "Progress window".
ProgressOn Crea una finestra "progress bar" personalizzabile.
Imposta la posizione e/o il testo di una finestra "Progress bar" creata in
ProgressSet
precedenza.
Random Genera un numero di tipo float pseudo-random.
RegDelete cancella una chiave o un valore dal registry.
RegEnumKey Legge il nome di una subkey in base alla sua istanza.
RegEnumVal Legge il nome di un valore in base alla sua istanza.
RegRead Legge un valore dal registry.
RegWrite Crea una chiave o valore nel registry.
Ritorna un numero arrotondato ad uno specifico numero di posizioni
Round
decimali.
Run Esegue un programma esterno.
Inizializza un set di credenziali utente per usarle nelle funzioni Run e
RunAsSet
RunWait. SOLO 2000/XP o successive.
Esegue un programma esterno e interrompe l'esecuzione di uno script fino
RunWait
a che il programma termina.
Send Invia battute di tasti simulate alla finestra attiva.
SetError Imposta manualmente il valore della macro @error.
Shutdown Chiude il sistema.
Sin Calcola il seno di un numero.
Sleep Interrompe l'esecuzione di uno script.
SoundPlay Esegue un file musicale.
SoundSetWaveVolume Imposta il volume di sistema in percentuale.
SplashImageOn Crea una finestra popup personalizzabile con un'immagine.
SplashOff Chiude uno SplashText o SplashImage.
SplashTextOn Crea una finestra popup personalizzabile con testo.

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


AutoIt Pagina 66 di 314

Sqrt Calcola la radice quadrata di un numero.


StatusbarGetText Recupera il testo da un controllo status bar standard.
String Ritorna la rappresentazione stringa di un'espressione.
Prefissa tutti i caratteri linefeed ( Chr(10) ) di una stringa con un carattere
StringAddCR
carriage return ( Chr(13) ).
StringFormat Ritorna una stringa formattata (simile alla funzione C sprintf()).
StringInStr Controlla se una stringa contiene una data sottostringa.
StringIsAlNum Controlla se una stringa contiene solo caratteri alfanumerici.
StringIsAlpha Controlla se una stringa contiene solo caratteri alfabetici.
Controlla se una stringa contiene solo caratteri ASCII nel range 0x00 -
StringIsASCII
0x7f (0 - 127).
StringIsDigit Controlla se un stringa contiene solo caratteri numerici (0-9).
StringIsFloat Controlla se una stringa è un numero "float".
StringIsInt Controlla se una stringa è un numero intero.
StringIsLower Controlla se una stringa contiene solo caratteri minuscoli.
StringIsSpace Controlla se una stringa contiene solo caratteri space.
StringIsUpper Controlla se una stringa contiene solo caratteri maiuscoli.
Controlla se una stringa contiene solo caratteri numeri esadecimali digit
StringIsXDigit
(0-9, A-F).
StringLeft Ritorna un numero di caratteri dalla posizione sinistra di una stringa.
StringLen Ritorna il numero di caratteri di una stringa.
StringLower Converte una stringa in caratteri minuscoli.
StringMid Estrae un numero di caratteri da una stringa.
StringReplace Sostituisce sottostringhe in una stringa.
StringRight Ritorna un numero di caratteri dalla posizione destra di una stringa.
StringSplit Divide una stringa in sottostringhe in base ad un delimitatore.
StringStripCR Rimuove tutti i valori carriage return ( Chr(13) ) da una stringa.
StringStripWS Rimuove i caratteri space da una stringa.
StringTrimLeft Dispone un numero di caratteri alla sinistra di una stringa.
StringTrimRight Dispone un numero di caratteri alla destra di una stringa.
StringUpper Converte una stringa in caratteri maiuscoli.
Tan Calcola la tangente di un numero.
TimerDiff Ritorna la differenza di tempo da una precedente chiamata a TimerInit().
TimerInit Ritorna un timestamp (in millisecondi).
ToolTip Crea un tooltip dovunque sullo schermo.
TrayTip Visualizza un "balloon tip" dall'icona di AuotIt. (solo 2000/XP)
UBound Ritorna la size di dimensioni di array.
URLDownloadToFile 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 Attiva (dà il focus a) una finestra.


WinActive Controlla se una specifica finestra esiste ed è attiva.
WinClose Chiude una finestra.
WinExists Controlla se una specifica finestra esiste.
WinGetCaretPos Ritorna le coordinate del carattere caret nella finestra in primo piano
WinGetClassList Recupera la classe di una finestra.
WinGetClientSize Recupera la dimensione di una data area client di una finestra.
WinGetHandle Recupera l'identificativo interno di una finestra.
WinGetPos Recupera la posizione e la dimensione di una finestra.
WinGetState Recupera lo stato di una finestra.
WinGetText Recupera il testo di una finestra.
WinGetTitle Recupera il titolo completo di una finestra.
WinKill Forza la chiusura di una finestra.
WinMenuSelectItem Attiva una voce di menu di una finestra.
WinMinimizeAll Minimizza tutte le finestre.
WinMinimizeAllUndo Annulla una precedente funzione WinMinimizeAll.
WinMove Muove e/o cambia le dimensioni di una finestra.
WinSetOnTop Cambia l'attributo di finestra "Always On Top".
WinSetState Visualizza, nasconde, minimizza, massimizza o ripristina una finestra.
WinSetTitle Cambia il titolo di una finestra.
Interrompe l'esecuzione di uno script fino a quando la finestra richiesta
WinWait
esiste.
Interrompe l'esecuzione di uno script fino a quando la finestra richiesta è
WinWaitActive
attiva.
Interrompe l'esecuzione di uno script fino a quando la finestra richiesta
WinWaitClose
non esiste.
Interrompe l'esecuzione di uno script fino a quando la finestra richiesta
WinWaitNotActive
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

Nome della variabile d'ambiente da determinare come ad esempio "TEMP" o


envvariabile
"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".


[opzionale] valore della variabile d'ambiente da impostare. Se un valore non è usato
valore
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 Path della directory origine (senza backslash finale). ad es. "C:\Path1"
dest dir Path della directory di destinazione (senza backslash finale). ad es. "C:\Path_Copy"
[opzionale] questo flag determina se sevrascrivere file che già esistono:
flag 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 Path della directory origine (senza backslash finale). ad es. "C:\Path1"
dest dir Path della directory di destinazione (senza backslash finale). ad es. "C:\Path_Copy"
[opzionale] questo flag determina se sovrascrivere file che già esistono:
flag 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 Path della directory da rimuovere.


[opzionale] Usa questo flag per specificare se vuoi rimuovere anche le sub-
directories.
recurse
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:


tipo "ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK", o
"UNKNOWN"

Valore di ritorno

Ritorna un array di stringhe (lettera di drive letter seguita da "due punti") di drive
Successo:
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
Interpretazione
ritorno
Il drive NON contien media (CD, Floppy, Zip) o il media non è formattato
1 (numerico)
(RAW).
Tipico file system per drives sotto ~500 MB come Floppy, RAM disks, USB
"FAT"
"pen" drives, etc.
"FAT32" Tipico file system for Windows 9x/Me hard drives.
"NTFS" Tipico file system per Windows NT/2000/XP hard drives.
"CDFS" Tipicamente indica un CD (o un'immagine ISO montata come CD drive virtuale).
"UDF" 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",


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

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
device questo parametro si ottiene una connessione non mappata a uno specifico drive. Se
specifichi "*" una lettera di drive non usata sarà selezionata automaticamente.

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:
flags 0 = default
1 = Mapping persistente
8 = Visualizza la finestra di autenticazione se richiesta
[opzionale] Lo username da usare per connettersi. Nella forma "username" o
utente
"domain\username".
password [opzionale] La password da usare per connettersi.

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 Path del drive da cambiare.


label 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
Interpretazione
ritorno
UNKNOWN Il drive può non essere formattato (RAW).
READY Tipico di hard drives e drives che contengono media rimuovibili.
NOTREADY 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 è
INVALID
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 Il path di destinazione dei file(s) copiati.


[opzionale] questo flag determina se sovrascrivere files che già esistono:
flag 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 Path completo e nome file di un file per il quale creare lo shortcut.
lnk Path completo e nome file dello shortcut.
workdir [opzionale] Directory di lavoro.
args [opzionale] "File arguments" supplementari.
desc [opzionale] Descrizione del File.
icon [opzionale] Path/Nome file completo dell'icona da usare.
hotkey [opzionale] Hotkey - lo stesso del formato di chiave Send().
numero di
[opzionale] L'istanza dell'icona da usare (di solito 0)
icona
[opzionale] Lo stato dello shortcut che deve essere attivato. Usa sia
stato @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

Ritorna un "search handle" che può essere usato con successive funzioni
Successo:
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 Filename da controllare.


[opzionale] Flag per indicare il tipo di timestamp
0 = Modified (default)
opzione
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

Il path sorgente del file da compilare. Deve essere una stringa di lettere; non può
origine
essere una variabile.
dest Il path di destinazione con un backslash finale. Questo può essere una variabile.
[opzionale] questo flag determina se sovrascrivere files che già esistono:
flag 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 Il path sorgente e il filename del file da muovere. (* wildcards sono supportati)
dest Il path di destinazione e il filename del file spostato. (* wildcards sono supportati)
[opzionale] questo flag determina se sovrascrivere files che già esistono:
flag 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
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à.

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 Il testo del titolo della Dialog GUI.


dir iniziale Directory iniziale selezionata nel file tree della GUI .
filtro 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)
opzioni 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 di
Nome file da aprire proposto all'utente.
default

Valore di ritorno

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

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

Il puntatore di un file, come ritornato da una precedente chiamata a FileOpen. In


filehandle
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

Il puntatore di un file, come ritornato da una precedente chiamata aFileOpen. In


filehandle
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
line
(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

[Opzionale] La lettera del drive da svuotare - se omessa il cestino è svuotato per


source
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 Testo del titolo della Dialog GUI.


dir iniziale Directory iniziale selezionata nella GUI file tree.
filtro 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)
opzioni 4 = Consente MultiSelect
8 = Prompt per creare un nuovo File (se non esiste)
16 = Prompt per sovrascrivere un File
nome di
Nome file da proporre all'utente come file da salvare.
default

Valore di ritorno

Ritorna il path completo del file scelto. I risultati per selezioni multiple sono
Successo:
"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 Testo di presentazione nel dialogo.


root Root directory della GUI file tree. Usa "" per rendere root il Desktop.
[optional]
1 = Visualizza il pulsante Create Folder (richiede IE6.0 o successive)
flag
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(s) da cambiare, ad es. C:\*.au3, C:\Dir
file
+-
Attribito(s) da impostare/cancellare. ad es. "+A", "+RA-SH"
RASHNOT
[opzionale] Se è impostata a 1, le directories saranno trattate ricorsivamente. Il
ricorsività
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(s) da cambiare, ad es. C:\*.au3, C:\Dir
file
La nuova data e ora da impostare nel formato "YYYYMMDDHHMMSS" (Anno,
data e ora mese, giorno, ore (nel formato 24hr), secondi). Se data e ora non vengono impostati
("") vengono usati data e ora correnti.
tipo Il timestamp da cambiare: 0 = Modified, 1 = Created, 2 = Accessed
[opzionale] Se è impostata a 1, le directories saranno trattate ricorsivamente. Il
ricorsività
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

Il puntatore di un file, come ritornato da una precedente chiamata a FileOpen. In


filehandle
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
linea
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

Il puntatore di un file, come ritornato da una precedente chiamata a FileOpen. In


filehandle
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
linea
@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 Il filename del file .ini.


sezione Il nome della sezione nel file .ini.
chiave 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 Il filename del file .ini.


sezione Il nome della sezione nel file .ini.
chiave Il nome della chiave nel file .ini.
default 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 Il filename del file .ini.


sezione Il nome della sezione nel file .ini.
chiave Il nome della chiave nel file .ini.
valore 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 La key(s) da usare come hotkey. Lo stesso formato di Send().


[opzionale] Il nome della funzione da chiamare quando la key è premuta. Lascia
funzione
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. Almeno un modificatore Alt, Ctrl, o Win è richiesto con queste keys.
Ctrl+Alt+Delete E' riservato da Windows
F12 E' anche riservato da Windows, in base alle sue API.
Al contrario, usa {Enter} che cattura entrambi gli Enter keys sulla
Enter Key del NumPad
tastiera.
Win+B,D,E,F,L,M,R,U; e Questi sono built-in Windows shortcuts. Nota: Win+B e Win+L
Win+Shift+M potrebbero essere riservati solo su Windows XP e successivi.
Alt, Ctrl, Shift, Win Queste sono le keys modificatori di sè stessi!
Ad ogni hotkey globale che un utente ha definito usando software di
Altro 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 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
flag
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} PAUSE
{NUMPAD0} - {NUMPAD9} Numpad digits
{NUMPADMULT} Numpad Multiply
{NUMPADADD} Numpad Add
{NUMPADSUB} Numpad Subtract
{NUMPADDIV} Numpad Divide
{NUMPADDOT} Numpad period
{NUMPADENTER} Enter key on the numpad
{APPSKEY} Windows App key
{LALT} Left ALT key
{RALT} Right ALT key
{LCTRL} Left CTRL key
{RCTRL} Right CTRL key
{LSHIFT} Left Shift key
{RSHIFT} Right Shift key
{SLEEP} Computer SLEEP key
{ALTDOWN} Tiene premuta la chiave ALT finchè viene inviata {ALTUP}
{SHIFTDOWN} Tiene premuta la chiave SHIFT finchè viene inviata {SHIFTUP}
{CTRLDOWN} Tiene premuta la chiave CTRL finchè viene inviata {CTRLUP}
Tiene premuta la chiave Windows finchè viene inviata
{LWINDOWN}
{LWINUP}
Tiene premuta la chiave Windows finchè viene inviata
{RWINDOWN}
{RWINUP}
{ASC nnnn} Invia la combinazione di chiavi ALT+nnnn
{BROWSER_BACK} Solo 2000/XP: Seleziona il pulsante del browser "back"
{BROWSER_FORWARD} Solo 2000/XP: Seleziona il pulsante del browser "forward"
{BROWSER_REFRESH} Solo 2000/XP: Seleziona il pulsante del browser "refresh"
{BROWSER_STOP} Solo 2000/XP: Seleziona il pulsante del browser "stop"
{BROWSER_SEARCH} Solo 2000/XP: Seleziona il pulsante del browser "search"
{BROWSER_FAVORITES} Solo 2000/XP: Seleziona il pulsante del browser "favorites"
{BROWSER_HOME} Solo 2000/XP: Lancia il browser e va alla home page
{VOLUME_MUTE} Solo 2000/XP: Disabilita il volume
{VOLUME_DOWN} Solo 2000/XP: Riduce il volume
{VOLUME_UP} Solo 2000/XP: Aumenta il volume
{MEDIA_NEXT} Solo 2000/XP: Seleziona la traccia successiva in media player
{MEDIA_PREV} Solo 2000/XP: Seleziona la traccia precedente in media player
{MEDIA_STOP} Solo 2000/XP: Interrompe media player
{MEDIA_PLAY_PAUSE} Solo 2000/XP: Avvia/mette in pausa media player
{LAUNCH_MAIL} Solo 2000/XP: Lancia l'applicazione email
{LAUNCH_MEDIA} Solo 2000/XP: Lancia media player
{LAUNCH_APP1} 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 L'opzione da cambiare. Vedi Osservazioni.


param 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
Imposta la modalità con cui le funzioni caret sono usate, sia coordinate
assolute che coordinate relative alla finestra attiva:
CaretCoordMode
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:
ColorMode
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%".
ExpandEnvStrings
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.
MouseClickDelay
Tempo di pausa in millisecondi (default=10).
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).
Imposta la modalità in cui sono usate le coordinate nelle funzioni del
mouse, sia coordinate assolute che coordinate relative alla finestra attiva:
MouseCoordMode
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
MustDeclareVars 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:
PixelCoordMode
1 = coordinate assolute dello schermo (default)
0 = coordinate relative alla finestra corrente

Imposta se lo script dovrebbe terminare con un "fatal error" se una

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


AutoIt Pagina 133 di 314

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


trovato/login ID errato:
RunErrorsFatal
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("{...
SendAttachMode 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.
SendCapslockMode
0 = non memorizza/ripristina
1 = memorizza e ripristina (default)
Altera la lughezza di una pausa tra battute di tasto inviate.
SendKeyDelay 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
SendKeyDownDelay 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.
TrayIconDebug
0 = nessuna informazione de debug (default)
1 = visualizza debug
Nasconde la tray icon di AutoIt. Nota: L'icona apparirà ancora
inizialmente ~750 millisecondi.
TrayIconHide
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.
WinDetectHiddenText
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".
WinSearchChildren
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
WinTextMatchMode 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

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)
WinTitleMatchMode
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
WinWaitDelay relativa a finestre.
Tempo di pausa in millisecondi (default=250).

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 Il primo numero.


valore2 Il secondo numero.
valore n [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 Il primo numero.


valore2 Il seconfo numero.
valore n [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 Il primo numero con cui operare.


shift 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 Il primo numero.


valore2 Il secondo numero.
valore n [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 Il dividendo.
valore2 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 Ogni espressione numerica valida.


posizioni numero opzionale che indica quante posizioni a destra della parte decimale sono
decimali 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 Un messaggio all'utente per indicare che tipo di input è atteso.


default 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
carattere
caratteri digitati compaiano, definisci una stringa vuota ("") (default). Se fornisci
password
una stringa con caratteri multipli, sarà usato solo il primo carattere.
[opzionale] La larghezza della finestra. Se definita, dovrà essere definita anche
larghezza
l'altezza. Usa -1 per la larghezza di default.
[opzionale] L'altezza della finestra. Se definita, dovrà essere definita anche la
altezza
larghezza. Usa -1 per l'altezza di default.
[opzionale] Il lato sinistro dell'input box. Per default, la finestra è centrata. Se
left
definita, dovrà essere definita anche il top.
[opzionale] Il top dell'input box. Per default, la finestra è centrata. Se definita, dovrà
top
essere definito anche il lato sinistro.
[opzionale] Quanti secondi aspettare prima di cancellare automaticamente
timeout
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

Il flag indicata il tipo di message box e le possibili combinazioni di pulsanti. Vedi le


flag
Osservazioni.
titolo Il titolo della message box.
testo Il testo della message box.
[opzionale] Il Timeout in secondi. Dopo che il timeout è trascorso la message box
timeout
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 Valore di ritorno
OK 1
CANCEL 2
ABORT 3
RETRY 4
IGNORE 5
YES 6
NO 7
TRY AGAIN ** 10
CONTINUE ** 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 Pulsanti visualizzati


0 pulsante OK
1 OK e Cancel
2 Abort, Retry, e Ignore
3 Yes, No, e Cancel
4 Yes e No
5 Retry e Cancel
6 ** Cancel, Try Again, Continue
valore del flag Icone visualizzate
0 (No icon)
16 Stop-sign icon
32 Question-mark icon
48 Exclamation-point icon
64 Icona consistente di una 'i' in una circonferenza
valore del flag Pulsante di default
0 Il primo pulsante è il pulsante di default
256 Il secondo pulsante è il pulsante di default
512 Il terzo pulsante è il pulsante di default
valore del flag Modalità
0 Applicazione
4096 System modal (la finestra non ha icone)
8192 Task modal
valore del flag Varie
0 (niente di speciale)
262144 MsgBox ha impostato un attributo top-most
5244288 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 Il titolo della progress window.


testo
Il titolo della label principale, in grassetto, situata nella parte alta.
principale
testo [opzionale] il testo della label secondaria, normale, situata nella parte più bassa. (il
secondario default è blank)
[opzionale] la posizione da sinistra (in pixels) della progress window. (il default è
x pos
centrata)
[opzionale] la posizione dal margine in alto (in pixels) della progress window. (il
y pos
default è centrata)
[opzionale] Il Default è 'sempre sul margine in alto con il titolo'
Aggiungi le seguenti opzioni se vuoi:
opzione 1 = finestra senza bordo, senza titolo
2 = Senza l'attributo "sempre in primo piano"
16 = La finestra può essere spostata

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 Percentuale (valore tra 0. e 100.) da impostare per la progress bar.


testo opzionalmente imposta il testo per la label secondaria, Normale, situata nella parte
secondario inferiore.
testo opzionalmente imposta il testo per la label principale, in grassetto, situata nella parte
principale 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 Il titolo della finestra splash.


file path\filename completo dell'immagine (BMP, GIF, o JPG)
width [opzionale] larghezza della finestra in pixels. (il default è 500)
height [opzionale] altezza della finestra in pixels. (il default è 400)
[opzionale] posizione da sinistra (in pixels) della finestra splash. (il default è
x pos
centrata)
[opzionale] posizione dal margine in alto (in pixels) della finestra splash. (il default
y pos
è centrata)
[opzioni addizionali] Aggiungi le opzioni che vuoi. Il default è 'sempre in primo
piano/con il titolo'
opt 1 = finestra senza titolo con il bordo sottile
2 = Senza l'attributo "sempre in primo piano"
16 = Le finestre possono essere spostate

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 Il titolo della finestra splash.


testo Il testo della finestra splash.
w larghezza opzionale della finestra in pixels. (default 500)
h altezza opzionale della finestra in pixels. (default 400)
x pos 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
opt
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
fontname
non è stato trovato)
font size opzionale. (il default è 12; dimensioni standard sono 6 8 9 10 11 12 14 16
fontsz
18 20 22 24 26 28 36 48 72)
font weight opzionale (0 - 1000, default = 400 = normale). Un valore > 1000 è
fontwt
trattato come zero.

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 Il testo del tooltip. (Una stringa vuota cancella un tooltip visualizzato)
x, y 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 Il titolo appare in grassetto al top del balloon tip. (massimo 63 caratteri)
testo Il messaggio che il "balloon tip" visualizzerà. (massimo 255 caratteri)
Un calcolo approssimativo del tempo in cui il balloon tip sarà visualizzato.
timeout (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),
opzione
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 Il nome della funzione adlib da chiamare.


[opzionale] con che frequenza in millisecondi chiamare la funzione. Il default è 250
time
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

1 = Disabilita l'input utente


flag
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 "BlockInput" Risultati


Windows 95 Nessun effetto.

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


AutoIt Pagina 171 di 314

L'input utente è bloccato ma anche AutoIt non è in grado di


Windows 98/Me
simulare l'input.
Windows NT 4 (Senza
Nessun effetto.
ServicePack 6)
Windows NT 4 (Con L'input utente è bloccato e AutoIt può simulare la maggior parte
ServicePack 6) dell'input.
L'input utente è bloccato e AutoIt può simulare la maggior parte
Windows 2000/XP
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

1 = Break è abilitato (l'utente può chiudere) (default)


modalità
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 La lettera del drive dello sportello CD da controllare, nel formato D:, E:, etc.
status 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 coordinate di sinistra del rettangolo.


alto coordinate in alto del rettangolo.
right coordinate di destra del rettangolo.
basso 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 coordinata x del pixel.


y 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 coordinata sinistra del rettangolo.


margine
coordinata del margine superiore del rettangolo.
superiore
destra coordinata destra del rettangolo.
margine
coordinata del margine inferiore del rettangolo.
inferiore
colore 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).
(opzionale) Invece di cercare ogni pixel usa un valore superiore a 1 per saltare
step 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 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:
attesa
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 URL del file da scaricare.


valuename 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 Il pulsante da cliccare, "sinistro", "destro" o "centrale".


[opzionale] Le coordinate x/y dove muovere il mouse. Se le coordinate x e y non
x, y
sono fornite, viene usata la posizione corrente.
clicks [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
velocità (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 Il pulsante da cliccare, "sinistro", "destro" o "centrale".


x1, y1 Le coordinate x/y da cui iniziare l'operazione di drag.
x2, y2 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
velocità (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 La coordinata x dello schermo alla quale muovere il mouse.


y 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

a 100 (la più lenta). Una velocità di 0 muoverà il mouse istantaneamente. La


velocità
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 "up" o "down"


clicks [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)
priorità 2 - Normal
3 - Above Normal (Non supportato su Windows 95/98/ME)
4 - High
5 - Realtime (Usalo con attenzione, può rendere instabile il sistema)

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 Il nome del processo da verificare.


timeout [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 Il nome o PID del processo da verificare.


[opzionale] Specifica quanto tempo attendere (il default è aspettare
timeout
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 Il nome dell'eseguibile (EXE, BAT, COM, o PIF) da avviare.


workingdir [opzionale] La directory di lavoro.
[opzionale] Il flag "visualizza" del programma eseguito:
@SW_HIDE = Finestra nascosta
flag
@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 Il nome utente da usare.


dominio Il nome dominio da usare.
password La password da usare.

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


AutoIt Pagina 200 di 314

[opzionale] 0 = non carica il profilo utente, 1 = (default) carica il profilo utente, 2 =


opzioni
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 Il nome dell'eseguibile (EXE, BAT, COM, o PIF) da avviare.


workingdir [opzionale] La directory di lavoro.
[opzionale] Il flag "visualizza" del programma eseguito:
@SW_HIDE = Finestra nascosta
flag
@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 La chiave da scrivere nel registry.


valuename [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 La chiave del registry da leggere.


istanza 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 La chiave del Registry da leggere.


istanza 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 La chiave del registry da leggere.


valuename 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

La chiave del registry da scrivere. Se nessun altro parametro è specificato questa


keyname
chiave sarà semplicemente creata.
valuename Il valore da scrivere.
Tipo di chiave da scrivere: "REG_SZ", "REG_MULTI_SZ", "REG_EXPAND_SZ",
tipo
"REG_DWORD", o "REG_BINARY".
valore 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 La stringa da valutare.


substringa La substringa da cercare.
[opzionale] Il flag per indicare se le operazioni dovrebbero essere sensibili al
carattere (min/maiusc.).
casesense
0 = non sensibili al carattere (default)
1 = sensibili al carattere
[opzionale] Quale occorrenza della sottostringa deve essere trovata nella stringa.
occurance Usa un'occorrenza negativa per cercare dal lato destro. Il valore di default è 1 (trova
la prima occorrenza).

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) ;returns 1 since 1.5 convertito to stringa contain .


StringIsFloat(1.0) ;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
Il formato e i flags da usare (vedi Osservazioni).
controllo
$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 di
Tipo Formato dell'output
variabile
d, i Numero numero decimale con segno.
o Numero Numero in base otto senza segno.
u Numero Numero decimale senza segno.
x Numero Numero esadecimale senza segno, che usa "abcdef".
X Numero Numero esadecimale senza segno, che usa "ABCDEF".
Valore con segno che ha la forma [ - ]d.dddd e [sign]ddd dove d è una cifra
e Float 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 Float 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
f Float
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 è
g Float
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
G Float
appropriato).
s String Stringa.

Specifica del Flag

Flag Significato Default


Allinea a sinistra il risultato entro la larghezza del dato
- Allinea a destra.
campo.
Prefissa il valore dell'output con un segno (+ o -) se il valore Sign appare solo per valori
+
dell'output è di tipo signed. negativi con segno (-).
Se larghezza è prefissata con 0, zeri sono aggiunti finchè la
minima larghezza viene raggiunta. Se 0 e - appaiono, il 0 è
0 Nessun riempimento.
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 Nessun blank compare.
blank e + appaiono.
Quando usato con il formato o, x, o X, il flag # prefissa ogni
# Nessun blank compare.
valore di output nonzero con 0, 0x, o 0X, rispettivamente.
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 Default


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, La precisione di default è 1.
dell'output è riempito a sinistra con zero. Il valore non
X
viene troncato quando il numero di cifre eccede la
precisione.
La precisione di default è 6; se la
La precisione specifica il numero di cifre che devono precisione è 0 o il punto (.)
e, E essere stampate dopo il punto decimale. L'ultima cifra appare senza un numero
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
f 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
g, G stampate, con ogni zero finale
significative stampate.
troncato.
La precisione specifica il massimo numero di caratteri che
I caratteri sono stampati finchè un
s 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") ;ritorna 1
StringIsXDigit("2570") ;ritorna 1
StringIsXDigit("a cafe") ;ritorna 0 a causa di caratteri space
StringIsXDigit(1 + 2.0) ;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 La stringa da valutare.


contatore 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 La stringa da valutare.


start La posizione del carattere da cui iniziare (1 = primo carattere)
contatore 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 La stringa da valutare.


searchstring La sottostringa da ricercare.
replacestring La stringa in sostituzione.
[opzionale] Il numero di volte in cui sostituire la searchstring.
contatore 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".
casesense 0 = non case sensitive (default)
1 = case sensitive

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 La stringa da valutare.


contatore 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 La stringa da valutare.


Uno o più caratteri da usare come delimitatori. ad es. se se volessi usare i caratteri
delimitatori
"*" 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
flag
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)

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 La stringa da valutare.


contatore 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 La stringa da valutare.


contatore 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

Il carattere per il quale orttenere il codice. Se è usata una stringa, viene fornito il
char
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 Il numero intero da convertire.


Numero di caratteri che deve essere ritornato (fino a 8).
lunghezza
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") ; $a non è stata mai assegnata
EndIf

$a=1

If IsDeclared ("a") then


MsgBox(0,"", "$a E' stata dichiarata" ) ; a causa di una precedente $a=1 assegnazione
EndIf

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) ;ritorna 1
IsInt(3.0000) ;ritorna 1
IsInt("5432") ;ritorna 0 finchè è una stringa
IsInt(7.5 - 4.5) ;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 La variabile array che è stata inteogata.


[opzionale] Quale dimensione di un array multi-dimensionato elaborare. Il default è
Dimensione 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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o l'esatto titolo/testo di un controllo
classnameNN
con qualsiasi carattere sottolineato rappresentato con una precedente &.
[opzionale] Il pulsante da cliccare, "sinistro", "destro" o "centrale". Il default è il
pulsante
pulsante sinistro.
clicks 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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o l'esatto titolo/testo del controllo con
classnameNN
qualsiasi carattere sottolineato rappresentato con una precedente &.
comando Il comando da inviare al controllo.
Parametro addizionale richiesto da alcuni comandi; usa "" se il parametro non è
opzione
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", "" Ritorna 1 se il Controllo è visibile, 0 in caso contrario
"IsEnabled", "" Ritorna 1 se il Controllo è abilitato, 0 in caso contrario
"ShowDropDown", "" Apre una ComboBox
"HideDropDown", "" Chiude una ComboBox
"AddString", 'stringa ' Aggiunge una stringa alla fine di una ListBox o ComboBox
"DelString",
Cancella l'occorrenza di una stringa in una ListBox o ComboBox
occorrenza
"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", "" Ritorna 1 se Button è marcato, 0 in caso contrario
"Check", "" Seleziona radio o check Button
"UnCheck", "" Deseleziona radio o check Button
"GetCurrentLine", "" Ritorna la linea # dove è posizionato il cursore in un Edit
"GetCurrentCol", "" Ritorna la colonna # dove è posizionato il cursore in un Edit
"GetCurrentSelection",
Ritorna il nome dell'elemento selezionato in una ListBox o ComboBox
""
"GetLineCount", "" Ritorna il # di linee in un Edit
"GetLine", line# Ritorna il testo alla linea # di un Edit
"GetSelected", "" Ritorna il testo selezionato di un Edit
"EditPaste", 'stringa ' Incolla la 'stringa' alla posizione del cursore dell'Edit
"CurrentTab", "" Ritorna il Tab attivo di un controllo SysTabControl32
"TabRight", "" Muove al prossimo tab a destra di un controllo SysTabControl32
"TabLeft", "" 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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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 Il titolo della finestra da controllare.


testo (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
Successo:
specifica finestra.
Insuccesso: Imposta @error a 1 se la finestra non è stata trovata.

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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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


Successo:
finestra.
Insuccesso: Imposta @error a 1.

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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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 Il titolo della finestra da muovere.


testo Il testo della finestra da muovere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
con qualsiasi carattere di sottolineatura indicato da una precedente &.
x Coordinata X da cui muovere.
y Coordinata Y da cui muovere.
larghezza [opzionale] Nuova larghezza della finestra.
altezza [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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
con qualsiasi carattere di sottolineatura indicato da una precedente &.
stringa 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
flag
{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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
con qualsiasi carattere di sottolineatura indicato da una precedente &.
nuovo testo 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 Il titolo della finestra a cui accedere.


testo Il testo della finestra a cui accedere.
Il classname è l'istanza del controllo richiesto o il titolo/testo esatto del controllo
classnameNN
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 Il titolo della finestra da verificare.


testo [opzionale] Il testo della finestra da verificare.
[opzionale] Il numero che identifica la "parte" della status bar da leggere - il default
parte è 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 Il titolo della finestra da attivare.


testo [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 Il titolo della finestra da attivare.


testo [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 Il titolo della finestra da chiudere.


testo [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 Il titolo della finestra da verificare.


testo [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 Il titolo della finestra da leggere.


testo [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 Il titolo della finestra da leggere.


testo [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 Il titolo della finestra da leggere.


testo [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 Il titolo della finestra da leggere.


testo [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 Il titolo della finestra da leggere.


testo [opzionale] Il testo della finestra da leggere.

Valore di ritorno

Ritorna un valore che indica lo stato della finestra. Valori multipli sono addizionati
Successo:
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 Il titolo della finestra da leggere.


testo [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 Il titolo della finestra da leggere.


testo [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 Il titolo della finestra da chiudere.


testo [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 Il titolo della finestra da leggere.


testo Il testo della finestra da leggere.
item Testo del Menu Item
item (opzionale) Testo del SubMenu item
item (opzionale) Testo del SubMenu item
item (opzionale) Testo del SubMenu item
item (opzionale) Testo del SubMenu item
item (opzionale) Testo del SubMenu item
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 Il titolo della finestra da muovere/ridimensionare.


testo Il testo della finestra da muovere/ridimensionare.
x Coordinata X a cui muovere.
y 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 (opzionale) Nuova larghezza della finestra.


altezza (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 Il titolo della finestra da elaborare.


testo Il testo della finestra da elaborare.
Determina se deve essere impostato il flag "TOPMOST".
flag
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
flag
@SW_MINIMIZE = Minimizza una finestra
@SW_MAXIMIZE = Massimizza una finestra
@SW_RESTORE = Annulla una minimizzazione o massimizzazione di una finestra

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 Il titolo della finestra da cambiare.


testo Il testo della finestra da cambiare.
nuovotitolo 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 [opzionale] Il testo della finestra da verificare.


timeout [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 Il titolo della finestra da verificare.


testo [opzionale] Il testo della finestra da verificare.
timeout [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 Il titolo della finestra da verificare.


testo [opzionale] Il testo della finestra da verificare.
timeout [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 Il titolo della finestra da verificare.


testo [opzionale] Il testo della finestra da verificare.
timeout [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 Descrizione
#include <Color.au3>
_ColorGetRed 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 Ottiene il componente verde di un dato colore.


_ColorGetBlue Ottiene il componente blu di un dato colore.

#include <Date.au3>
_DateDayOfWeek Ritorna il nome del weekday, basato sul giorno specificato.
Ritorna il numero di giorni in un mese, basato sul mese e anno
_DateDaysInMonth
specificato.
Ritorna 1 se l'anno specificato è un anno bisestile e ritorna 0 se non lo
_DateIsLeapYear
è.
Ritorna 1 se il numero di mese specificato è valido e ritorna 0 se non
_DateIsValidMonthNum
lo è.
_DateIsValidWeekdayNum Ritorna 1 se il numero di weekday è valido e ritorna 0 se non lo è.
_DateIsValidYear Ritorna 1 se l'anno specificato è valido e ritorna 0 se non lo è.
_DateLastMonthNum Ritorna il numero di mese precedente, basato sul mese specificato.
Ritorna l'anno del mese precedente, basato sul mese e anno
_DateLastMonthYear
specificato.
Ritorna il numero di weekday precedente, basato sul giorno della
_DateLastWeekdayNum
settimana specificato.
_DateMonthOfYear Ritorna il nome del mese, basato sul mese specificato.
_DateNextMonthNum Ritorna il numero del mese successivo, basato sul mese specificato.
Ritorna l'anno del mese successivo, basato sul mese e anno
_DateNextMonthYear
specificato.
Ritorna il numero di weekday successivo, basato sul giorno della
_DateNextWeekdayNum
settimana specificato.
_TicksToTime Converte il tick specificato in ore, minuti, e secondi.
_TimeIsValidHour Ritorna 1 se l'ora specificata è valida e ritorna 0 se non lo è.
_TimeIsValidMinute Ritorna 1 se il minuto specificato è valido e ritorna 0 se non lo è.
_TimeIsValidSecond Ritorna 1 se il secondo specificato è valido e ritorna 0 se non lo è.
_TimeToTicks Converte le ore, minuti, e secondi specificati in ticks.

#include <File.au3>
_DirRemoveContents Cancella i contenuti di una directory/cartella.
_FileAppend Accoda il testo specificato ad un file.
_FileCountLines Ritorna il numero di linee del file specificato.
_FileCreate Crea il file specificato con una lunghezza di zero bytes.
_FileReadToArray Legge il file specificato in un array.
_FileWriteLog Scrive il testo specificato in un log file.

#include <Math.au3>

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


AutoIt Pagina 292 di 314

_Max Valuta quale di due numeri è maggiore.


_Min Valuta quale di due numeri è minore.

#include <Process.au3>
_RunDOS Esegue un comando DOS in una finestra di comandi nascosta.

#include <String.au3>
_StringRepeat Ripete una stringa uno specificato numero di volte.
_StringReverse 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... Dec Hex Descrizione


NUL 0 00 Carattere Null
SOH 1 01 Inizio dell'intestazione, = console interrupt
STX 2 02 Inizio del testo, maintenance mode su console HP
ETX 3 03 Fine del testo

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


AutoIt Pagina 293 di 314

EOT 4 04 Fine della trasmissione, non lo stesso di ETB


ENQ 5 05 Interrogazione, va con ACK; vecchio flusso di coltrollo HP
ACK 6 06 Acknowledge, cancella ENQ logon hand
Campanello, suona il campanello... (Suona il beep di default di
BEL 7 07
Windows)
BS 8 08 Backspace, funziona su terminali/computer HP
HT 9 09 Tab orizzontale, muove fino al prossimo tab stop
LF 10 0a Line Feed
VT 11 0b Tab verticale
FF 12 0c Form Feed, espulsione della pagina
CR 13 0d Carriage Return
SO 14 0e Shift Out, serie alternativa di caratteri
SI 15 0f Shift In, ricomincia la serie di caratteri di default
DLE 16 10 Data link escape
DC1 17 11 XON, con XOFF per sospendere listati; ":okay per inviare".
DC2 18 12 Device control 2, flusso di controllo block-mode
DC3 19 13 XOFF, con XON è flusso di controllo TERM=18
DC4 20 14 Device control 4
NAK 21 15 Autenticazione Negativa
SYN 22 16 Sincrono inattivo
ETB 23 17 Fine blocco di trasmissione, non è lo stesso di EOT
CAN 24 17 Cancel line, MPE echoes !!!
EM 25 19 Fine di medium, Control-Y interrupt
SUB 26 1a Sostituto
ESC 27 1b Escape, il carattere successivo non è echoed
FS 28 1c Separatore di File
GS 29 1d Separatore di Gruppo
RS 30 1e Separatore di Record, terminatore block-mode
US 31 1f Separatore di Unit

Caratteri di stampa (caratteri standard)

Char Dec Hex Descrizione


32 20 Space
! 33 21 Punto esclamativo
" 34 22 Punto interrogativo (&quot; in HTML)
# 35 23 Cross hatch (number sign)

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


AutoIt Pagina 294 di 314

$ 36 24 Carattere Dollaro
% 37 25 Carattere Percento
& 38 26 Ampersand
` 39 27 Apice singolo di chiusura (apostrofo)
( 40 28 Parentesi aperte
) 41 29 Parentesi chiuse
* 42 2a Asterisco (stella, moltiplicazione)
+ 43 2b Più
, 44 2c Virgola
- 45 2d Divisione, trattino, meno
. 46 2e Periodo
/ 47 2f Barra inclinata (forward slash, divisione)
0 48 30 Zero
1 49 31 Uno
2 50 32 Due
3 51 33 Tre
4 52 34 Quttro
5 53 35 Cinque
6 54 36 Sei
7 55 37 Sette
8 56 38 Otto
9 57 39 Nove
: 58 3a Due punti
; 59 3b Puno e virgola
< 60 3c Segno minore
= 61 3d Segno uguale
> 62 3e Segno maggiore
? 63 3f Punto interrogativo
@ 64 40 Segno At
A 65 41 A maiuscola
B 66 42 B maiuscola
C 67 43 C maiuscola
D 68 44 D maiuscola
E 69 45 E maiuscola
F 70 46 F maiuscola
G 71 47 G maiuscola
H 72 48 H maiuscola

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


AutoIt Pagina 295 di 314

I 73 49 I maiuscola
J 74 4a J maiuscola
K 75 4b K maiuscola
L 76 4c L maiuscola
M 77 4d M maiuscola
N 78 4e N maiuscola
O 79 4f O maiuscola
P 80 50 P maiuscola
Q 81 51 Q maiuscola
R 82 52 R maiuscola
S 83 53 S maiuscola
T 84 54 T maiuscola
U 85 55 U maiuscola
V 86 56 V maiuscola
W 87 57 W maiuscola
X 88 58 X maiuscola
Y 89 59 Y maiuscola
Z 90 5a Z maiuscola
[ 91 5b Parentesi quadra aperta
\ 92 5c Barra inclinata al contrario (Backslash)
] 93 5d Parentesi quadra chiusa
^ 94 5e Caret (accento circonflesso)
_ 95 5f Carattere di sottolineatura
` 96 60 Apice singolo aperto
a 97 61 a minuscola
b 98 62 b minuscola
c 99 63 c minuscola
d 100 64 d minuscola
e 101 65 e minuscola
f 102 66 f minuscola
g 103 67 g minuscola
h 104 68 h minuscola
i 105 69 i minuscola
j 106 6a j minuscola
k 107 6b k minuscola
l 108 6c l minuscola
m 109 6d m minuscola

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


AutoIt Pagina 296 di 314

n 110 6e n minuscola
o 111 6f o minuscola
p 112 70 p minuscola
q 113 71 q minuscola
r 114 72 r minuscola
s 115 73 s minuscola
t 116 74 t minuscola
u 117 75 u minuscola
v 118 76 v minuscola
w 119 77 w minuscola
x 120 78 x minuscola
y 121 79 y minuscola
z 122 7a z minuscola
{ 123 7b Parentesi graffa aperta
| 124 7c Linea verticale
} 125 7d Parentesi graffa chiusa
~ 126 7e Tilde (segno di approssimazione)
127 7f Delete (rubout), cross-hatch box

Set di caratteri estesi(ANSI)

Char Dec Hex Descrizione


€ 128 80
129 81 Nota: Non visualizzato in questo file html compilato in help file
‚ 130 82
ƒ 131 83
„ 132 84
… 133 85
† 134 86
‡ 135 87
ˆ 136 88
‰ 137 89
Š 138 8A
‹ 139 8B
Π140 8C
141 8D Nota: Non visualizzato in questo file html compilato in help file

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


AutoIt Pagina 297 di 314

Ž 142 8E
143 8F Nota: Non visualizzato in questo file html compilato in help file
144 90 Nota: Non visualizzato in questo file html compilato in help file
‘ 145 91
’ 146 92
“ 147 93
” 148 94
• 149 95
– 150 96
— 151 97
˜ 152 98
™ 153 99
š 154 9A
› 155 9B
œ 156 9C
157 9D Nota: Non visualizzato in questo file html compilato in help file
ž 158 9E
Ÿ 159 9F
160 A0
¡ 161 A1
¢ 162 A2
£ 163 A3
¤ 164 A4
¥ 165 A5
¦ 166 A6
§ 167 A7
¨ 168 A8
© 169 A9
ª 170 AA
« 171 AB
¬ 172 AC
Nota: Può non essere visualizzato in questo file html compilato in
173 AD
help file
® 174 AE
¯ 175 AF
° 176 B0
± 177 B1
² 178 B2

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


AutoIt Pagina 298 di 314

³ 179 B3
´ 180 B4
µ 181 B5
¶ 182 B6
· 183 B7
¸ 184 B8
¹ 185 B9
º 186 BA
» 187 BB
¼ 188 BC
½ 189 BD
¾ 190 BE
¿ 191 BF
À 192 C0
Á 193 C1
 194 C2
à 195 C3
Ä 196 C4
Å 197 C5
Æ 198 C6
Ç 199 C7
È 200 C8
É 201 C9
Ê 202 CA
Ë 203 CB
Ì 204 CC
Í 205 CD
Î 206 CE
Ï 207 CF
Ð 208 D0
Ñ 209 D1
Ò 210 D2
Ó 211 D3
Ô 212 D4
Õ 213 D5
Ö 214 D6
× 215 D7

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


AutoIt Pagina 299 di 314

Ø 216 D8
Ù 217 D9
Ú 218 DA
Û 219 DB
Ü 220 DC
Ý 221 DD
Þ 222 DE
ß 223 DF
à 224 E0
á 225 E1
â 226 E2
ã 227 E3
ä 228 E4
å 229 E5
æ 230 E6
ç 231 E7
è 232 E8
é 233 E9
ê 234 EA
ë 235 EB
ì 236 EC
í 237 ED
î 238 EE
ï 239 EF
ð 240 F0
ñ 241 F1
ò 242 F2
ó 243 F3
ô 244 F4
õ 245 F5
ö 246 F6
÷ 247 F7
ø 248 F8
ù 249 F9
ú 250 FA
û 251 FB
ü 252 FC

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


AutoIt Pagina 300 di 314

ý 253 FD
þ 254 FE
ÿ 255 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-1080-


F9E5-6311-4162E05A6BEE}", 1)

Cartella Valore per il parametro di directory del File___


Administrative Tools "::{D20EA4E1-3957-11d2-A40B-0C5020524153}"
Briefcase "::{85BBD92O-42A0-1O69-A2E4-08002B30309D}"
Control Panel "::{21EC2O2O-3AEA-1O69-A2DD-08002b30309d}"
Fonts "::{D20EA4E1-3957-11d2-A40B-0C5020524152}"
History "::{FF393560-C2A7-11CF-BFF4-444553540000}"
Inbox "::{00020D75-0000-0000-C000-000000000046}"
Microsoft Network "::{00028B00-0000-0000-C000-000000000046}"
My Computer "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
My Documents "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
My Network Places "::{208D2C60-3AEA-1069-A2D7-08002B30309D}"
Network Computers "::{1f4de370-d627-11d1-ba4f-00a0c91eedba}"
Network Connections "::{7007ACC7-3202-11D1-AAD2-00805FC1270E}"
Printers and Faxes "::{2227A280-3AEA-1069-A2DE-08002B30309D}"
Programs Folder "::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}"
Recycle Bin "::{645FF040-5081-101B-9F08-00AA002F954E}"
Scanners and Cameras "::{E211B736-43FD-11D1-9EFB-0000F8757FCD}"
Scheduled Tasks "::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"
Start Menu Folder "::{48e7caab-b918-4e58-a94d-505519c795dc}"
Temporary Internet Files "::{7BD29E00-76C1-11CF-9DD0-00A0C9034933}"
Web Folders "::{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 Win95 WinNT Win98 Win2000 WinMe WinXP


Abadi MT Condensed Light x
Arial x x x x x x
Arial Alternative Regular x
Arial Alternative Symbol x
Arial Black x x x x
Arial Bold x x x x x x
Arial Bold Italic x x x x x x
Arial Italic x x x x x x
Book Antiqua x
Calisto MT x
Century Gothic x
Century Gothic Bold x
Century Gothic Bold Italic x
Century Gothic Italic x
Comic Sans MS x x x
Comic Sans MS Bold x x x x
Copperplate Gothic Bold x
Copperplate Gothic Light x
Courier x x x x x x
Courier New x x x x x x
Courier New Bold x x x x x x
Courier New Bold Italic x x x x x x
Courier New Italic x x x x x x
Estrangelo Edessa x
Franklin Gothic Medium x
Franklin Gothic Medium Italic x
Gautami x
Georgia x x
Georgia Bold x x
Georgia Bold Italic x x
Georgia Italic x x
Georgia Italic Impact x
Impact x x x
Latha x

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


AutoIt Pagina 302 di 314

Lucida Console x x x x x
Lucida Handwriting Italic x
Lucida Sans Italic x
Lucida Sans Unicode x x x
Marlett x x
Matisse ITC x
Modern x x x x
Modern MS Sans Serif x
MS Sans Serif x x x x x x
MS Serif x x x x x
Mv Boli x
News Gothic MT x
News Gothic MT Bold x
News Gothic MT Italic x
OCR A Extended x
Palatino Linotype x x
Palatino Linotype Bold x x
Palatino Linotype Bold Italic x x
Palatino Linotype Italic x x
Roman x x x
Script x x x
Small Fonts x x x
Smallfonts x x x
Symbol x x x x x x
Tahoma x x x x
Tahoma Bold x x x x
Tempus Sans ITC x x
Times New Roman x x x x x x
Times New Roman Bold x x x x x x
Times New Roman Bold Italic x x x x x x
Times New Roman Italic x x x x x x
Trebuchet x
Trebuchet Bold x
Trebuchet Bold Italic x
Trebuchet Italic x
Trebuchet MS x x
Trebuchet MS Bold 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 x x


Trebuchet MS Italic x x
Tunga x
Verdana x x x x
Verdana Bold x x x x
Verdana Bold Italic x x x x
Verdana Italic x x x x
Webdings x x x x
Westminster x x x
Wingdings x x x x
WST_Czech x
WST_Engl x
WST_Fren x
WST_Germ x
WST_Ital x
WST_Span x
WST_Swed 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 Significato
0436 Afrikaans
041c Albanian
0401 Arabic_Saudi_Arabia
0801 Arabic_Iraq
0c01 Arabic_Egypt
1001 Arabic_Libya
1401 Arabic_Algeria
1801 Arabic_Morocco
1c01 Arabic_Tunisia
2001 Arabic_Oman
2401 Arabic_Yemen
2801 Arabic_Syria

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


AutoIt Pagina 304 di 314

2c01 Arabic_Jordan
3001 Arabic_Lebanon
3401 Arabic_Kuwait
3801 Arabic_UAE
3c01 Arabic_Bahrain
4001 Arabic_Qatar
042b Armenian
042c Azeri_Latin
082c Azeri_Cyrillic
042d Basque
0423 Belarusian
0402 Bulgarian
0403 Catalan
0404 Chinese_Taiwan
0804 Chinese_PRC
0c04 Chinese_Hong_Kong
1004 Chinese_Singapore
1404 Chinese_Macau
041a Croatian
0405 Czech
0406 Danish
0413 Dutch_Standard
0813 Dutch_Belgian
0409 English_United_States
0809 English_United_Kingdom
0c09 English_Australian
1009 English_Canadian
1409 English_New_Zealand
1809 English_Irish
1c09 English_South_Africa
2009 English_Jamaica
2409 English_Caribbean
2809 English_Belize
2c09 English_Trinidad
3009 English_Zimbabwe
3409 English_Philippines
0425 Estonian

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


AutoIt Pagina 305 di 314

0438 Faeroese
0429 Farsi
040b Finnish
040c French_Standard
080c French_Belgian
0c0c French_Canadian
100c French_Swiss
140c French_Luxembourg
180c French_Monaco
0437 Georgian
0407 German_Standard
0807 German_Swiss
0c07 German_Austrian
1007 German_Luxembourg
1407 German_Liechtenstei
408 Greek
040d Hebrew
0439 Hindi
040e Hungarian
040f Icelandic
0421 Indonesian
0410 Italian_Standard
0810 Italian_Swiss
0411 Japanese
043f Kazakh
0457 Konkani
0412 Korean
0426 Latvian
0427 Lithuanian
042f Macedonian
043e Malay_Malaysia
083e Malay_Brunei_Darussalam
044e Marathi
0414 Norwegian_Bokmal
0814 Norwegian_Nynorsk
0415 Polish
0416 Portuguese_Brazilian

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


AutoIt Pagina 306 di 314

0816 Portuguese_Standard
0418 Romanian
0419 Russian
044f Sanskrit
081a Serbian_Latin
0c1a Serbian_Cyrillic
041b Slovak
0424 Slovenian
040a Spanish_Traditional_Sort
080a Spanish_Mexican
0c0a Spanish_Modern_Sort
100a Spanish_Guatemala
140a Spanish_Costa_Rica
180a Spanish_Panama
1c0a Spanish_Dominican_Republic
200a Spanish_Venezuela
240a Spanish_Colombia
280a Spanish_Peru
2c0a Spanish_Argentina
300a Spanish_Ecuador
340a Spanish_Chile
380a Spanish_Uruguay
3c0a Spanish_Paraguay
400a Spanish_Bolivia
440a Spanish_El_Salvador
480a Spanish_Honduras
4c0a Spanish_Nicaragua
500a Spanish_Puerto_Rico
0441 Swahili
041d Swedish
081d Swedish_Finland
0449 Tamil
0444 Tatar
041e Thai
041f Turkish
0422 Ukrainian
0420 Urdu

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


AutoIt Pagina 307 di 314

0443 Uzbek_Latin
0843 Uzbek_Cyrillic
042a 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}") Naviga fino al prossimo controllo (pulsante, checkbox, etc)


Send("+{TAB}") Naviga fino al precedente controllo.
Send("^{TAB}") Naviga fino al prossimo WindowTab (su una finestra Tabbed dialog)
Send("^+{TAB}") Naviga fino al precedente WindowTab.
Send("{SPACE}") Può essere usato per impostare una checkbox o cliccare sun un pulsante.
Di solito è usato per selezionare una checkbox (se è una checkbox
Send("{+}")
"reale".)
Send("{-}") Di solito deseleziona una checkbox.
Send
Espande ricorsivamente cartelle in una SysTreeView32.
("{NumPadMult}")

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 Alt+f, la chiave di accesso per il menu File di Notepad. Prova altre
Send("!f")
lettere!
Send
Muove giù un menu.
("{DOWN}")
Send("{UP}") Muove sù un menu.
Send("{LEFT}") 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 è


Chiavi premute ottenute
zero)
{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{SPACE} SPACE
{ENTER} chiave ENTER sulla tastiera principale
{ALT} ALT
{BACKSPACE} or {BS} BACKSPACE
{DELETE} or {DEL} DELETE
{UP} Cursor up
{DOWN} Cursor down
{LEFT} Cursor left
{RIGHT} Cursor right
{HOME} HOME
{END} END
{ESCAPE} or {ESC} ESCAPE
{INSERT} or {INS} INS
{PGUP} PGUP
{PGDN} PGDN
{F1} - {F12} Function keys
{TAB} TAB
{PRINTSCREEN} PRINTSCR
{LWIN} Left Windows key
{RWIN} Right Windows key

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


AutoIt Pagina 310 di 314

{NUMLOCK} NUMLOCK
{CTRLBREAK} Ctrl+Break
{PAUSE} PAUSE
{CAPSLOCK} CAPSLOCK
{NUMPAD0} -
Numpad digits
{NUMPAD9}
{NUMPADMULT} Numpad Multiply
{NUMPADADD} Numpad Add
{NUMPADSUB} Numpad Subtract
{NUMPADDIV} Numpad Divide
{NUMPADDOT} Numpad period
{NUMPADENTER} Enter key on the numpad
{APPSKEY} Windows App key
{LALT} Left ALT key
{RALT} Right ALT key
{LCTRL} Left CTRL key
{RCTRL} Right CTRL key
{LSHIFT} Left Shift key
{RSHIFT} Right Shift key
{SLEEP} Computer SLEEP key
Mantiene la chiave ALT premuta finchè è inviato
{ALTDOWN}
{ALTUP}
Mantiene la chiave SHIFT premuta finchè è
{SHIFTDOWN}
inviato {SHIFTUP}
Mantiene la chiave CTRL premuta finchè è inviato
{CTRLDOWN}
{CTRLUP}
Mantiene la chiave left Windows premuta finchè è
{LWINDOWN}
inviato {LWINUP}
Mantiene la chiave right Windows premuta finchè
{RWINDOWN}
è inviato {RWINUP}
{ASC nnnn} Invia la combinazione ALT+nnnn

Solo 2000/XP: Seleziona il pulsante "back" del


{BROWSER_BACK}
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

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


{BROWSER_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

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