Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pagina 1 di 314
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 ).
18/05/2008
AutoIt
Pagina 2 di 314
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.
18/05/2008
AutoIt
Pagina 3 di 314
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.
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.
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.
18/05/2008
AutoIt
Pagina 5 di 314
Files e Directories
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)
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.
18/05/2008
AutoIt
Pagina 7 di 314
Back To Top
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
18/05/2008
AutoIt
Pagina 8 di 314
C'è una sezione nell'helpfile che mostra come i comandi in v2 e v3 sono correlati
- clicca qui per vedere la pagina.
Back To Top
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.
18/05/2008
AutoIt
Pagina 9 di 314
Back To Top
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
18/05/2008
AutoIt
Pagina 10 di 314
Back To Top
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:
18/05/2008
AutoIt
Pagina 11 di 314
Send($myvar, 1)
Back To Top
Back To Top
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
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
Back To Top
18/05/2008
AutoIt
Pagina 13 di 314
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
18/05/2008
AutoIt
Pagina 15 di 314
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
18/05/2008
AutoIt
Pagina 16 di 314
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).
4. Usa i pulsanti Browse per selezionare i tuoi files di input (.au3) e output
(.exe).
18/05/2008
AutoIt
Pagina 17 di 314
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).
18/05/2008
AutoIt
Pagina 18 di 314
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.
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!
18/05/2008
AutoIt
Pagina 20 di 314
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)!
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] )
Per usare la funzione sopra con qualsiasi finestra notepad entrambi questi metodi
funzioneranno: WinWaitActive("Untitled - Notepad") e WinWaitActive("Untitled -
Notepad", "")
Se la stessa finestra notepad avesse "Questa è una linea di testo" impostata nella
finestra, Window Spy visualizzerebbe:
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:
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.
Modalità 2 Confronta ogni sottostringa nel titolo. In questa modalità una finestra
intitolata Untitled - Notepad sarebbe confrontata da "Untitled -
18/05/2008
AutoIt
Pagina 23 di 314
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 ""
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
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.
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
18/05/2008
AutoIt
Pagina 26 di 314
18/05/2008
AutoIt
Pagina 27 di 314
18/05/2008
AutoIt
Pagina 28 di 314
AutoItSetOption("SendCapslockMode",...) AutoItSetOption("WinTitleMatchMode",...)
AutoItSetOption("WinWaitDelay",...) Shutdown Sleep SplashTextOn e altre SplashOff
[vedi funzioni individuali] StringLeft StringRight StringMid StringLen
StringReplace StringTrimLeft StringTrimRight StringInStr [vedi WinGetPos,
WinGetTitle, WinGetText] WinGetTitle("") WinKill WinWait WinWaitClose
WinWaitActive WinWaitNotActive WinSetState(..., @SW_HIDE) WinSetState(...,
@SW_SHOW) WinSetState(...,@SW_RESTORE) WinSetState(...,@SW_MINIMIZE)
WinSetState(...,@SW_MAXIMIZE) WinActivate WinClose WinMove WinSetTitle
WinMinimizeAll WinMinimizeAllUndo #Include [vedi ClipGet e ClipPut] @OSType
18/05/2008
AutoIt
Pagina 29 di 314
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:
18/05/2008
AutoIt
Pagina 31 di 314
Range di Datatype
La seguente tabella mostra il range di valori che un datatype variant può tenere.
Data Sub-type Range e Note Numerico Stringa Un numero a "doppia precisione" che è
un numero con una precisione di 15 cifre nel range da 1.7E–308 a 1.7E+308.
(Memorizzato internamente come 8 bytes) Può contenere stringhe fino a 2 miliardi
di caratteri.
Alcune funzioni in AutoIt lavorano solo con numeri a 32 bit (ad es. BitAND) e sono
convertiti automaticamente - queste funzioni sono documentate dove richiesto.
Dichiarare variabili
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.
18/05/2008
AutoIt
Pagina 33 di 314
Concatena/unisce due stringhe. ad es. "one" & 10 Eleva un numero alla potenza. ad
es. 2 ^ 4 Operatore logico NOT. ad es. NOT 1
(è uguale a 0)
18/05/2008
AutoIt
Pagina 34 di 314
Puoi usare parentesi quadre per forzare che una parte di un'espressione sia
valutata prima. ad es. (2 + 4) * 10 è uguale a 60.
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!".
18/05/2008
AutoIt
Pagina 36 di 314
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
18/05/2008
AutoIt
Pagina 37 di 314
Keyword Reference
Di seguito c'è una lista completa di keywords disponibili in AutoIt. Clicca su una
keyword per una
18/05/2008
AutoIt
Pagina 38 di 314
descrizione dettagliata.
Parametri Nessuno.
18/05/2008
AutoIt
Pagina 39 di 314
filename
Osservazioni In uno script AutoIt, altri scripts possono essere inclusi usando il
comando #include". #include deve essere in caratteri minuscoli.
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.
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.
#include-once
Parametri Nessuno.
Osservazioni
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.
ContinueLoop
Parametri Nessuno.
18/05/2008
AutoIt
Pagina 42 di 314
Osservazioni
18/05/2008
AutoIt
Pagina 43 di 314
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]
18/05/2008
AutoIt
Pagina 45 di 314
codice di ritorno
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
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
ExitLoop [livello]
Esempio $sum = 0 While 1 ;usa un loop infinito finchè sarà chiamato ExitLoop
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)
18/05/2008
AutoIt
Pagina 48 di 314
Esempio
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
18/05/2008
AutoIt
Pagina 50 di 314
18/05/2008
AutoIt
Pagina 51 di 314
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
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.
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)
18/05/2008
AutoIt
Pagina 53 di 314
Esempio Select Case $var = 1 MsgBox(0, "", "La prima espressione Case è vera")
Case $var2 = "test"
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
18/05/2008
AutoIt
Pagina 55 di 314
Desrizione path all'Application Data path al corrente user Application Data Numero
di versione di AutoIt, ad esempio 3.0.81.0 path alla cartella Common Files Ritorna
1 se lo script è un eseguibile compilato; altrimenti ritorna 0. Il nome di rete
del Computer. valore di %comspec%, L'interprete di comandi secondario specificato;
primariamente per uso da linea comandi, ad es. Run (@ComSpec & " /k help | more")
Carriage return, Chr(13); talvolta usato per interruzioni di linea. = @CR & @LF
;usato occasionalmente per interruzioni di linea. path al Desktop path all'utente
corrente del Desktop Altezza dello schermo in pixels (risoluzione orizzontale).
Larghezza dello schermo in pixels (risoluzione verticale). Profondità dello
schermo in bits per pixel. Refresh rate dello schermo in hertz. path alla cartella
Documenti Status dell'error flag. Vedi la funzione SetError. path alla cartella
Preferiti path alla cartella Preferiti dell'utente attivo Lettera del drive
contenente l'home directory dell'utente attivo. Parte dell'home directory
dell'utente attivo. Per ottenere il path completo, usalo in congiunzione con
@HomeDrive. @HomeShare - Nome del server e della condivisione contenente l'home
directory dell'utente attivo. Valore delle ore dell'orologio nel formato 24-ore.
Il range va da 00 a 23 IP address della prima scheda di rete. Tende a ritornare
127.0.0.1 su alcuni computer. IP address della seconda scheda di rete. Ritorna
0.0.0.0 se non applicabile.
18/05/2008
AutoIt
Pagina 56 di 314
18/05/2008
AutoIt
Pagina 57 di 314
@SW_SHOWNOACTIVATE
18/05/2008
AutoIt
Pagina 58 di 314
@SW_RESTORE
@SW_SHOWNOACTIVATE
@SW_SHOWNORMAL
@CR @LF
18/05/2008
AutoIt
Pagina 59 di 314
@CRLF @TAB
= @CR & @LF; usato occasionalmente per interruzioni di linea. Carattere Tab,
Chr(9)
Macro
Descrizione
Macros per dati di "tutti gli utenti". Molti valori sono letti da
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion @AppDataCommonDir
@DesktopCommonDir @FavoritesCommonDir @ProgramsCommonDir @StartupCommonDir path
all'Application Data path al Desktop path a Favorites path alla cartella Start
Menu's Programs path alla cartella Startup
Altre macros per il computer system: @HomeDrive @HomePath @HomeShare Lettera del
Drive contenente la home directory dell'utente corrente. Directory path della home
directory dell'utente corrente. Per ottenere il path completo, usala in
congiunzione con @HomeDrive. Nome del server e della condivisione contenente la
home directory dell'utente corrente.
18/05/2008
AutoIt
Pagina 60 di 314
Logon DNS Domain. Logon Domain. Logon server. path alla cartella Program Files
path alla cartella Common Files path alla cartella Windows path alla cartella
Windows' System (o System32) path alla cartella temporary files valore di
%comspec%, l'interprete secondario di comandi specificato ; primariamente per usi
da linea comandi, ad es. Run(@ComSpec & " /k help | more")
Macro
Descrizione Ritorna un codice che indica il linguaggio del OS. Vedi Appendice per
i valori possibili. Ritorna "WIN32_NT" per NT/2000/XP e ritorna "WIN32_WINDOWS"
per 95/98/Me Ritorna uno dei seguenti: WIN_XP, WIN_2000, WIN_NT4, WIN_ME, WIN_98,
WIN_95 Ritorna il numero di build OS. Per esempio, Windows 2003 Server ritorna
3790 Informazioni sui Service pack nel formato di "Service Pack 3" o, per Windows
95, può ritornare "B" Il nome di rete del computer. ID dell'utente loggato
attualmente. Tende a ritornare 127.0.0.1 su alcuni computers. IP address della
seconda scheda di rete. Ritorna 0.0.0.0 se non applicabile. IP address della terza
scheda di rete. Ritorna 0.0.0.0 se non applicabile.
18/05/2008
AutoIt
Pagina 61 di 314
Function Reference
Di seguito c'è la lista completa delle funzioni disponibili in AutoIt. Clicca sul
nome di una funzione per una descrizione dettagliata.
18/05/2008
AutoIt
Pagina 62 di 314
18/05/2008
AutoIt
Pagina 63 di 314
Copia una directory e tutte le sub-directory e file (Simile a xcopy). Crea una
directory/folder. Muove una directory e tutte le sub-directory e files. Cancella
una directory. Ritorna un array contenente i drive elencati. Ritorna il tipo di
File System di un drive. Ritorna la Label di Volume di un drive, se ne ha uno.
Ritorna il Serial Number di un drive. Ritorna il tipo di drive. Mappa un network
drive. Disconnette un network drive. Recupera i dettagli di un drive mappato.
Imposta la Label di Volume di un drive. Ritorna lo spazio libero su disco di un
path in Megabytes. Ritorna lo spazio disco totale di un path in Megabytes. Ritorna
lo status di un drive sotto forma di stringa. Recupera una variabile di ambiente.
Scrive una variabile di ambiente. Aggiorna l'ambiente OS. Ritorna il valore della
variabile il cui nome è fornito da un'espressione. Calcola e alla potenza di un
numero. Cambia la directory di lavoro corrente. Chiude un file di testo aperto in
precedenza. Copia uno o più file. Crea uno shortcut (.lnk) ad un file. Cancella
uno o più file. Controlla se un file o directory esiste. Ritorna un filename in
base alla stringa di ricerca. Ritorna un filename in base alla precedente call
alla funzione FileFindFirstFile. Ritorna una stringa che rappresenta gli atributi
di un file. Ritorna il path+name lungo del path+name fornito. Recupera i dettagli
circa uno shortcut. Ritorna il path+namethe 8.3 breve del path+name fornito.
Ritorna la dimensione di un file in bytes. Ritorna la data e ora di un file.
Ritorna la versione di un "File". Include un file nello script compilato e lo
installa .
18/05/2008
AutoIt
Pagina 64 di 314
Muove uno o più files. Apre un file di testo in lettura o scrittura. Avvia una
Dialog Box "Open File". Legge un numero di caratteri da un file di testo aperto in
precedenza. Legge una riga da un file di testo aperto in precedenza. Invia un file
o directory nel Cestino, se possibile. Svuota il cestino. Avvia una Dialog Box
"Save File". Avvia una GUI "Browse For Folder". Imposta gli attributi di uno o più
file. Imposta data e ora di uno o più file. Accoda una linea di testo ad un file
di testo aperto in precedenza. Accoda una linea di testo ad un file di testo
aperto in precedenza. Ritorna la rappresentazione in formato stringa di un numero
intero convertito in esadecimale. Imposta una hotkey che chiama una funzione
utente. Cancella un valore da un file .ini standard. Legge un valore da un file
.ini standard. Scrive un valore in un file .ini standard. Visualizza un input box
per chiedere all'utente di digitare una stringa. Ritorna la rappresentazione
numerica (numero intero) di un'espressione. Controlla se l'utente corrente a
diritti di amministrazione. Controlla se una variabile è di tipo array. Controlla
se una variabile è stata dichiarata. Controlla se una variabile o espressione è di
tipo float. Controlla se una variabile o espressione è di tipo integer. Controlla
se il tipo di una variabile è numerico. Controlla se una variabile è di tipo
stringa. Calcola il logaritmo naturale di un numero. Recupera informazioni
relative alla memoria. Esegue l'azione modulo. Esegue un'azione di mouse click.
Esegue un'azione di mouse click e trascinamento. Esegue un evento di "mouse down"
alla posizione corrente del mouse. Ritorna a cursor ID Number del cursore del
mouse corrente. Recupera la posizione corrente del cursore del mouse. Muove il
puntatore del mouse. Esegue un evento "mouse up" alla posizione corrente del
mouse.
18/05/2008
AutoIt
Pagina 65 di 314
Muove la rotellina del mouse su o giù. SOLO NT/2000/XP. Visualizza una semplice
message box con un timeout opzionale. Ritorna la rappresentazione numerica di
un'espressione. Genera un checksum per una regione di pixels. Ritorna il colore di
un pixel in base alle coordinate x,y del pixel. Ricerca un rettangolo di pixel per
il colore di pixel fornito. Termina un dato processo. Controlla se uno specifico
processo esiste. Cambia la priorità di un processo Interrompe l'esecuzione di uno
script fino a che un dato processo esiste. Interrompe l'esecuzione di uno script
fino a che un dato processo viene chiuso. Chiude una "Progress window". Crea una
finestra "progress bar" personalizzabile. Imposta la posizione e/o il testo di una
finestra "Progress bar" creata in precedenza. Genera un numero di tipo float
pseudo-random. cancella una chiave o un valore dal registry. Legge il nome di una
subkey in base alla sua istanza. Legge il nome di un valore in base alla sua
istanza. Legge un valore dal registry. Crea una chiave o valore nel registry.
Ritorna un numero arrotondato ad uno specifico numero di posizioni decimali.
Esegue un programma esterno. Inizializza un set di credenziali utente per usarle
nelle funzioni Run e RunWait. SOLO 2000/XP o successive. Esegue un programma
esterno e interrompe l'esecuzione di uno script fino a che il programma termina.
Invia battute di tasti simulate alla finestra attiva. Imposta manualmente il
valore della macro @error. Chiude il sistema. Calcola il seno di un numero.
Interrompe l'esecuzione di uno script. Esegue un file musicale. Crea una finestra
popup personalizzabile con un'immagine. Chiude uno SplashText o SplashImage. Crea
una finestra popup personalizzabile con testo.
18/05/2008
AutoIt
Pagina 66 di 314
18/05/2008
AutoIt
Pagina 67 di 314
Attiva (dà il focus a) una finestra. Controlla se una specifica finestra esiste ed
è attiva. Chiude una finestra. Controlla se una specifica finestra esiste. Ritorna
le coordinate del carattere caret nella finestra in primo piano Recupera la classe
di una finestra. Recupera la dimensione di una data area client di una finestra.
Recupera l'identificativo interno di una finestra. Recupera la posizione e la
dimensione di una finestra. Recupera lo stato di una finestra. Recupera il testo
di una finestra. Recupera il titolo completo di una finestra. Forza la chiusura di
una finestra. Attiva una voce di menu di una finestra. Minimizza tutte le
finestre. Annulla una precedente funzione WinMinimizeAll. Muove e/o cambia le
dimensioni di una finestra. Cambia l'attributo di finestra "Always On Top".
Visualizza, nasconde, minimizza, massimizza o ripristina una finestra. Cambia il
titolo di una finestra. Interrompe l'esecuzione di uno script fino a quando la
finestra richiesta esiste. Interrompe l'esecuzione di uno script fino a quando la
finestra richiesta è attiva. Interrompe l'esecuzione di uno script fino a quando
la finestra richiesta non esiste. Interrompe l'esecuzione di uno script fino a
quando la finestra richiesta non è attiva.
18/05/2008
AutoIt
Pagina 68 di 314
ClipGet ( )
Parametri Nessuna.
Osservazioni Nessuna.
18/05/2008
AutoIt
Pagina 69 di 314
Esempio $bak = ClipGet() MsgBox(0, "La Clipboard contiene:", $bak) ClipPut($bak &
"testo addizionale") MsgBox(0, "La Clipboard contiene:", ClipGet())
ClipPut ( "valore" )
18/05/2008
AutoIt
Pagina 70 di 314
EnvGet ( "envvariabile" )
Osservazioni Nessuna.
18/05/2008
AutoIt
Pagina 71 di 314
18/05/2008
AutoIt
Pagina 72 di 314
EnvUpdate
Rinnova l'ambiente OS.
EnvUpdate ( )
Parametri Nessuno.
Esempio EnvUpdate()
18/05/2008
AutoIt
Pagina 73 di 314
Parametri origine dir dest dir flag Path della directory origine (senza backslash
finale). ad es. "C:\Path1" Path della directory di destinazione (senza backslash
finale). ad es. "C:\Path_Copy" [opzionale] questo flag determina se sevrascrivere
file che già esistono: 0 = (default) non sovrascrivere files che già esistono 1 =
sovrascrivere files che già esistono
18/05/2008
AutoIt
Pagina 74 di 314
Esempio DirCreate("C:\Test1\Folder1\Folder2")
Parametri
18/05/2008
AutoIt
Pagina 75 di 314
Path della directory origine (senza backslash finale). ad es. "C:\Path1" Path
della directory di destinazione (senza backslash finale). ad es. "C:\Path_Copy"
[opzionale] questo flag determina se sovrascrivere file che già esistono: 0 =
(default) non sovrascrivere file che già esistono 1 = sovrascrivere file che già
esistono
18/05/2008
AutoIt
Pagina 76 di 314
Parametri path recurse Path della directory da rimuovere. [opzionale] Usa questo
flag per specificare se vuoi rimuovere anche le subdirectories. 0 = (default) non
rimuove files e sub-directories 1 = rimuove files e subdirectories (come il
comando DOS DelTree)
Osservazioni Nessuna.
DriveGetDrive ( "tipo" )
18/05/2008
AutoIt
Pagina 77 di 314
tipo
Osservazioni Nessuna.
DriveGetFileSystem ( "path" )
18/05/2008
AutoIt
Pagina 78 di 314
Valore di ritorno Successo: Ritorna il Tipo di File System del drive sotto forma
di stringa; vedi la tabella di seguito. Insuccesso: Imposta @error to 1. Valore di
ritorno 1 (numerico) "FAT" "FAT32" "NTFS" "CDFS" "UDF" Interpretazione Il drive
NON contien media (CD, Floppy, Zip) o il media non è formattato (RAW). Tipico file
system per drives sotto ~500 MB come Floppy, RAM disks, USB "pen" drives, etc.
Tipico file system for Windows 9x/Me hard drives. Tipico file system per Windows
NT/2000/XP hard drives. Tipicamente indica un CD (o un'immagine ISO montata come
CD drive virtuale). Tipicamente indica un DVD.
18/05/2008
AutoIt
Pagina 79 di 314
DriveGetLabel ( "path" )
Valore di ritorno Successo: Ritorna la Label di Volume del drive sotto forma di
stringa. Insuccesso: Imposta @error a 1.
Osservazioni Nessuna.
DriveGetSerial ( "path" )
18/05/2008
AutoIt
Pagina 80 di 314
Valore di ritorno Successo: Ritorna il Serial Number del drive sotto forma di
stringa. Insuccesso: Imposta @error a 1.
Osservazioni Nessuna.
DriveGetType ( "path" )
Parametri
18/05/2008
AutoIt
Pagina 81 di 314
path
device
18/05/2008
AutoIt
Pagina 82 di 314
flags
utente password
18/05/2008
AutoIt
Pagina 83 di 314
DriveMapDel( "device" )
Osservazioni Se una connessione non ha una lettera di drive mappata puoi usare il
nome di connessione per disconnetterti, ad es. \\server\share
18/05/2008
AutoIt
Pagina 84 di 314
DriveMapGet( "device" )
Osservazioni Nessuna.
Pagina 85 di 314
DriveSetLabel
Imposta la Label di Volume di un drive.
Parametri path label Path del drive da cambiare. Nuova label di volume per il
drive. (di solito 11 caratteri è la lunghezza massima)
18/05/2008
AutoIt
Pagina 86 di 314
DriveSpaceFree ( "path" )
Esempio $var = DriveSpaceFree( "c:\" ) MsgBox(4096, "Spazio libero su C:", $var &
" MB")
18/05/2008
AutoIt
Pagina 87 di 314
DriveSpaceTotal ( "path" )
Esempio $var = DriveSpaceTotal( "c:\" ) MsgBox(4096, "Spazio totale su C:", $var &
" MB")
DriveStatus ( "path" )
18/05/2008
AutoIt
Pagina 88 di 314
18/05/2008
AutoIt
Pagina 89 di 314
FileChangeDir ( "path" )
Osservazioni Nessuna.
Esempio FileChangeDir("C:\Windows")
FileClose ( filehandle )
Parametri
18/05/2008
AutoIt
Pagina 90 di 314
filehandle
18/05/2008
AutoIt
Pagina 91 di 314
dest flag
18/05/2008
AutoIt
Pagina 92 di 314
Parametri file lnk workdir args desc icon hotkey numero di icona stato Path
completo e nome file di un file per il quale creare lo shortcut. Path completo e
nome file dello shortcut. [opzionale] Directory di lavoro. [opzionale] "File
arguments" supplementari. [opzionale] Descrizione del File. [opzionale] Path/Nome
file completo dell'icona da usare. [opzionale] Hotkey - lo stesso del formato di
chiave Send(). [opzionale] L'istanza dell'icona da usare (di solito 0) [opzionale]
Lo stato dello shortcut che deve essere attivato. Usa sia @SW_SHOWNORMAL,
@SW_SHOWMINNOACTIVE che @SW_SHOWMAXIMIZED
Valore di ritorno Successo: Ritorna 1. Insuccesso: Ritorna 0 se lnk non può essere
creato.
18/05/2008
AutoIt
Pagina 93 di 314
FileDelete ( "path" )
Esempio FileDelete("D:\*.tmp")
18/05/2008
AutoIt
Pagina 94 di 314
FileExists ( "path" )
18/05/2008
AutoIt
Pagina 95 di 314
FileFindFirstFile ( "filename" )
Valore di ritorno Successo: Ritorna un "search handle" che può essere usato con
successive funzioni FileFindNextFile. Insuccesso: Ritorna -1 se si verifica un
errore.
18/05/2008
AutoIt
Pagina 96 di 314
FileFindNextFile ( $search )
18/05/2008
AutoIt
Pagina 97 di 314
l'identificativo di ricerca.
FileGetAttrib ( "filename" )
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.
18/05/2008
AutoIt
Pagina 99 di 314
FileGetLongName ( "file" )
Osservazioni Nessuna.
18/05/2008
AutoIt
FileGetShortcut ( "lnk" )
18/05/2008
AutoIt
FileGetShortName ( "file" )
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.
FileGetSize
Ritorna la dimensione in bytes di un file.
FileGetSize ( "filename" )
Osservazioni Non funziona con directory. Dividi il risultato per 1024 per ottenere
i kilobyte equivalenti, o dividi per 1048576 per ottenere i megabyte equivalenti.
18/05/2008
AutoIt
18/05/2008
AutoIt
FileGetVersion ( "filename" )
Osservazioni Nessuna.
18/05/2008
AutoIt
Parametri origine dest flag Il path sorgente del file da compilare. Deve essere
una stringa di lettere; non può essere una variabile. Il path di destinazione con
un backslash finale. Questo può essere una variabile. [opzionale] questo flag
determina se sovrascrivere files che già esistono: 0 = (default) non sovrascrivere
files che già esistono 1 = sovrascrivi files esistenti
18/05/2008
AutoIt
Parametri origine dest flag Il path sorgente e il filename del file da muovere. (*
wildcards sono supportati) Il path di destinazione e il filename del file
spostato. (* wildcards sono supportati) [opzionale] questo flag determina se
sovrascrivere files che già esistono: 0 = (default) non sovrascrivere files che
già esistono 1 = sovrascrivi files esistenti
18/05/2008
AutoIt
Parametri filename Filename del file di testo da aprire. Modalità (read o write)
con cui aprire il file. 0 = Read mode 1 = Write mode (accoda alla fine del file) 2
= Write mode (cancella contenuti precedenti) Entrambe le modalità write creeranno
il file se non esiste già.
mode
Esempio
18/05/2008
AutoIt
Parametri titolo dir iniziale filtro Il testo del titolo della Dialog GUI.
Directory iniziale selezionata nel file tree della GUI . Filtro sul tipo di file
come ad esempio "All (*.*)" o "Files di testo (*.txt)" [opzionale] Opzioni di
Dialogo: Per usare più di un'opzione, aggiungi i valori richiesti insieme. 1 = Il
File deve esistere (se l'utente fornisce un filename) 2 = Il Path deve esistere
(se l'utente fornisce un path) 4 = Permette MultiSelect 8 = Prompt per creare un
nuovo File (se non esiste) 16 = Prompt per sovrascrivere File (vedi
FileSaveDialog) Nome file da aprire proposto all'utente.
opzioni
nome di default
Valore di ritorno Ritorna il path completo del file(s) scelto. Risultati per
selezioni multiple sono "Directory|file1|file2|..." Insuccesso: Imposta @error a
1. Successo:
18/05/2008
AutoIt
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.
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
18/05/2008
AutoIt
contatore
18/05/2008
AutoIt
FileReadLine
Legge una linea di testo da un file di testo aperto in precedenza.
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.
18/05/2008
AutoIt
FileRecycle ( "origine" )
18/05/2008
AutoIt
Esempio FileRecycle("C:\*.tmp")
FileRecycleEmpty ( ["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+.
18/05/2008
AutoIt
Esempio FileRecycleEmpty("C:\")
Parametri titolo dir iniziale filtro Testo del titolo della Dialog GUI. Directory
iniziale selezionata nella GUI file tree. Filtro sul tipo di file come "All (*.*)"
o "Files di testo (*.txt)" 1 = File deve esistere (se l'utente imposta un
filename) 2 = Path deve esistere (se l'utente imposta un path) 4 = Consente
MultiSelect 8 = Prompt per creare un nuovo File (se non esiste) 16 = Prompt per
sovrascrivere un File Nome file da proporre all'utente come file da salvare.
opzioni
nome di default
Valore di ritorno Successo: Ritorna il path completo del file scelto. I risultati
per selezioni multiple sono "Directory|file1|file2|..." Insuccesso: Imposta @error
a 1.
18/05/2008
AutoIt
Parametri dialog root flag Testo di presentazione nel dialogo. Root directory
della GUI file tree. Usa "" per rendere root il Desktop. [optional] 1 = Visualizza
il pulsante Create Folder (richiede IE6.0 o successive) 2 = Usa New Dialog Style
(richiede IE5.0 o successive) 4 = Visualizza Edit Control (per digitare un nome di
cartella)
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
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.)
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."
18/05/2008
AutoIt
Parametri modello di file data e ora tipo ricorsività File(s) da cambiare, ad es.
C:\*.au3, C:\Dir La nuova data e ora da impostare nel formato "YYYYMMDDHHMMSS"
(Anno, mese, giorno, ore (nel formato 24hr), secondi). Se data e ora non vengono
impostati ("") vengono usati data e ora correnti. Il timestamp da cambiare: 0 =
Modified, 1 = Created, 2 = Accessed [opzionale] Se è impostata a 1, le directories
saranno trattate ricorsivamente. Il Default è 0 (nessuna ricorsività).
18/05/2008
AutoIt
Accoda una linea di tsto alla fine di un file di testo aperto in precedenza.
18/05/2008
AutoIt
18/05/2008
AutoIt
Parametri filename sezione chiave Il filename del file .ini. Il nome della sezione
nel file .ini. Il nome della chiave nel file .ini.
18/05/2008
AutoIt
Parametri filename sezione chiave default Il filename del file .ini. Il nome della
sezione nel file .ini. Il nome della chiave nel file .ini. Il valore di default da
ritornare se la chiave richiesta non è stata trovata.
Valore di ritorno
18/05/2008
AutoIt
Parametri filename sezione chiave valore Il filename del file .ini. Il nome della
sezione nel file .ini. Il nome della chiave nel file .ini. Il valore da
scrivere/modificare.
Valore di ritorno
18/05/2008
AutoIt
Valore di ritorno
18/05/2008
AutoIt
18/05/2008
AutoIt
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
18/05/2008
AutoIt
18/05/2008
AutoIt
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
18/05/2008
AutoIt
PAUSE Numpad digits Numpad Multiply Numpad Add Numpad Subtract Numpad Divide
Numpad period Enter key on the numpad Windows App key Left ALT key Right ALT key
Left CTRL key Right CTRL key Left Shift key Right Shift key Computer SLEEP key
Tiene premuta la chiave ALT finchè viene inviata {ALTUP} Tiene premuta la chiave
SHIFT finchè viene inviata {SHIFTUP} Tiene premuta la chiave CTRL finchè viene
inviata {CTRLUP} Tiene premuta la chiave Windows finchè viene inviata {LWINUP}
Tiene premuta la chiave Windows finchè viene inviata {RWINUP} Invia la
combinazione di chiavi ALT+nnnn Solo 2000/XP: Seleziona il pulsante del browser
"back" Solo 2000/XP: Seleziona il pulsante del browser "forward" Solo 2000/XP:
Seleziona il pulsante del browser "refresh" Solo 2000/XP: Seleziona il pulsante
del browser "stop" Solo 2000/XP: Seleziona il pulsante del browser "search" Solo
2000/XP: Seleziona il pulsante del browser "favorites" Solo 2000/XP: Lancia il
browser e va alla home page Solo 2000/XP: Disabilita il volume Solo 2000/XP:
Riduce il volume Solo 2000/XP: Aumenta il volume Solo 2000/XP: Seleziona la
traccia successiva in media player Solo 2000/XP: Seleziona la traccia precedente
in media player Solo 2000/XP: Interrompe media player Solo 2000/XP: Avvia/mette in
pausa media player Solo 2000/XP: Lancia l'applicazione email Solo 2000/XP: Lancia
media player Solo 2000/XP: Lancia app1 utente
18/05/2008
AutoIt
{LAUNCH_APP2}
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!
18/05/2008
AutoIt
Riferimenti di funzione
AutoItSetOption
Cambia il funzionamento di varie funzioni/parametri di AutoIt.
18/05/2008
AutoIt
ColorMode
ExpandEnvStrings
MouseClickDelay
Altera il tempo in cui un click del mouse è tenuto attivo prima di essere
MouseClickDownDelay rilasciato. Tempo di pausa in millisecondi (default=10).
Altera la lunghezza della pausa all'inizio e alla fine di una operazione di
MouseClickDragDelay "mouse drag". Tempo di pausa in millisecondi (default=250).
MouseCoordMode Imposta la modalità in cui sono usate le coordinate nelle funzioni
del mouse, sia coordinate assolute che coordinate relative alla finestra attiva: 1
= coordinate assolute dello schermo (default) 0 = coordinate relative alla
finestra corrente (lo stesso di AutoIt v2) Se questa opzione è usata tutte le
variabili devono essere pre-dichiarate conh Dim, Local o Global prima che possano
essere usate - elimina la possibilità che variabili non corrette causino bugs. 1 =
Le variabili devono essere pre-dichiarate 0 = Le variabili non devono essere pre-
dichiarate (default) Imposta la modalità in cui le coordinate nelle funzioni pixel
sono usate, sia coordinate assolute che relative alla finestra corrente: 1 =
coordinate assolute dello schermo (default) 0 = coordinate relative alla finestra
corrente Imposta se lo script dovrebbe terminare con un "fatal error" se una
MustDeclareVars
PixelCoordMode
18/05/2008
AutoIt
RunErrorsFatal
SendAttachMode
SendCapslockMode
SendKeyDelay
SendKeyDownDelay
TrayIconDebug
TrayIconHide
WinDetectHiddenText
WinSearchChildren
WinTextMatchMode
finestre allora passare alla modalità "rapida" può essere di aiuto. Altera il
metodo che è usato per confrontare titoli di finestre durante operazioni di
ricerca. 1 = Confronta il titolo dall'inizio (default) 2 = Confronta ogni
sottostringa nel titolo 3 = Confronta il titolo esatto 4 = Modalità avanzata, vedi
Titoli di Finestra & Testo (Avanzato) Altera il tempo di interruzione di uno
script dopo un'operazione riuscita relativa a finestre. Tempo di pausa in
millisecondi (default=250).
WinTitleMatchMode
WinWaitDelay
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
18/05/2008
AutoIt
Abs ( espressione )
18/05/2008
AutoIt
ACos ( espressione )
Osservazioni ACos(x) è definito matematicamente solo per -1 < x < 1, perciò ACos
tende a ritornare -1.#IND per altri valori di x.
18/05/2008
AutoIt
Riferimenti di funzione
ASin
Calcola l'arcoseno di un numero.
ASin ( espressione )
Osservazioni ASin(x) è definito matematicamente solo per -1 < x < 1, perciò ASin
tende a ritornare -1.#IND per altri valori di x.
Riferimenti di funzione
18/05/2008
AutoIt
ATan
Calcola l'arcotangente di un numero.
ATan ( espressione )
Riferimenti di funzione
BitAND
Esegue un'operazione bitwise AND.
18/05/2008
AutoIt
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.
Riferimenti di funzione
BitNOT
Esegue un'operazione bitwise NOT. BitNOT ( valore )
18/05/2008
AutoIt
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.
Riferimenti di funzione
BitOR
Esegue un'operazione bitwise OR.
18/05/2008
AutoIt
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.
Riferimenti di funzione
BitShift
Esegue un'operazione di spostamento di bit. BitShift ( valore, spostamento )
18/05/2008
AutoIt
Parametri valore shift Il primo numero con cui operare. Numero di bit da spostare
a destra (i numeri negativi vengomno spostati a sinistra).
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.
Riferimenti di funzione
BitXOR
Esegue un'operazione esclusiva bitwise OR (XOR).
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
Cos ( espressione )
Exp ( espressione )
18/05/2008
AutoIt
Log ( espressione )
Valore di ritorno
18/05/2008
AutoIt
18/05/2008
AutoIt
Valore di ritorno Successo: Ritorna il resto quando valore1 è diviso per valore2.
Insuccesso: Ritorna -1.#IND se il divisore è zero.
Parametri Min [opzionale] Il numero più piccolo che deve essere generato. Il
default è 0.
18/05/2008
AutoIt
Max
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
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
Round
Ritorna un numero arrotondato ad uno specifico numero di posizioni decimali.
18/05/2008
AutoIt
Sin ( espressione )
18/05/2008
AutoIt
Parametri numero Ogni espressione non negativa di cui ottenere la radice quadrata.
Tan ( espressione )
Parametri
18/05/2008
AutoIt
espressione
Valore in radianti.
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.
18/05/2008
AutoIt
Un messaggio all'utente per indicare che tipo di input è atteso. Il valore con il
quale l'input box viene inizializzata. [opzionale] Il carattere con il quale
sostituire tutti i caratteri digitati. Se vuoi che i caratteri digitati compaiano,
definisci una stringa vuota ("") (default). Se fornisci una stringa con caratteri
multipli, sarà usato solo il primo carattere. [opzionale] La larghezza della
finestra. Se definita, dovrà essere definita anche l'altezza. Usa -1 per la
larghezza di default. [opzionale] L'altezza della finestra. Se definita, dovrà
essere definita anche la larghezza. Usa -1 per l'altezza di default. [opzionale]
Il lato sinistro dell'input box. Per default, la finestra è centrata. Se definita,
dovrà essere definita anche il top. [opzionale] Il top dell'input box. Per
default, la finestra è centrata. Se definita, dovrà essere definito anche il lato
sinistro. [opzionale] Quanti secondi aspettare prima di cancellare automaticamente
l'InputBox.
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.
18/05/2008
AutoIt
Parametri flag titolo testo timeout Il flag indicata il tipo di message box e le
possibili combinazioni di pulsanti. Vedi le Osservazioni. Il titolo della message
box. Il testo della message box. [opzionale] Il Timeout in secondi. Dopo che il
timeout è trascorso la message box verrà automaticamente chiusa.
Valore di ritorno Successo: Ritorna l'ID del pulsante premuto. Insuccesso: Ritorna
-1 se la message box è stata chiusa per timeout. Pulsante premuto OK CANCEL ABORT
RETRY IGNORE YES NO TRY AGAIN ** CONTINUE ** Valore di ritorno 1 2 3 4 5 6 7 10 11
18/05/2008
AutoIt
Osservazioni Il parametro flag può essere una combinazione dei seguenti valori:
valore del flag 0 1 2 3 4 5 6 ** valore del flag 0 16 32 48 64 valore del flag 0
256 512 valore del flag 0 4096 8192 valore del flag 0 262144 5244288 Pulsanti
visualizzati pulsante OK OK e Cancel Abort, Retry, e Ignore Yes, No, e Cancel Yes
e No Retry e Cancel Cancel, Try Again, Continue Icone visualizzate (No icon) Stop-
sign icon Question-mark icon Exclamation-point icon Icona consistente di una 'i'
in una circonferenza Pulsante di default Il primo pulsante è il pulsante di
default Il secondo pulsante è il pulsante di default Il terzo pulsante è il
pulsante di default Modalità Applicazione System modal (la finestra non ha icone)
Task modal Varie (niente di speciale) MsgBox ha impostato un attributo top-most il
titolo e il testo sono allineati a destra
18/05/2008
AutoIt
Esempio MsgBox(4096, "Test", "Questa finestra sarà chiusa per timeout entro 10
seconds", 10)
ProgressOff ( )
Parametri Nessuna.
Osservazioni Nessuna.
Esempio ProgressOff()
18/05/2008
AutoIt
Parametri titolo testo principale testo secondario x pos y pos Il titolo della
progress window. Il titolo della label principale, in grassetto, situata nella
parte alta. [opzionale] il testo della label secondaria, normale, situata nella
parte più bassa. (il default è blank) [opzionale] la posizione da sinistra (in
pixels) della progress window. (il default è centrata) [opzionale] la posizione
dal margine in alto (in pixels) della progress window. (il default è centrata)
[opzionale] Il Default è 'sempre sul margine in alto con il titolo' Aggiungi le
seguenti opzioni se vuoi: 1 = finestra senza bordo, senza titolo 2 = Senza
l'attributo "sempre in primo piano" 16 = La finestra può essere spostata
opzione
Funzioni correlate
18/05/2008
AutoIt
ProgressOff, ProgressSet
18/05/2008
AutoIt
Parametri titolo file width height x pos y pos Il titolo della finestra splash.
path\filename completo dell'immagine (BMP, GIF, o JPG) [opzionale] larghezza della
finestra in pixels. (il default è 500) [opzionale] altezza della finestra in
pixels. (il default è 400) [opzionale] posizione da sinistra (in pixels) della
finestra splash. (il default è centrata) [opzionale] posizione dal margine in alto
(in pixels) della finestra splash. (il default è centrata) [opzioni addizionali]
Aggiungi le opzioni che vuoi. Il default è 'sempre in primo piano/con il titolo' 1
= finestra senza titolo con il bordo sottile 2 = Senza l'attributo "sempre in
primo piano" 16 = Le finestre possono essere spostate
opt
18/05/2008
AutoIt
SplashOff ( )
Parametri
18/05/2008
AutoIt
Nessuno.
Osservazioni Nessuna.
Parametri titolo testo w h x pos Il titolo della finestra splash. Il testo della
finestra splash. larghezza opzionale della finestra in pixels. (default 500)
altezza opzionale della finestra in pixels. (default 400) posizione opzionale da
sinistra (in pixels) della finestra splash. (il default è centrata)
18/05/2008
AutoIt
y pos
posizione opzionale dal top (in pixels) della finestra splash. (il default è
centrata) opzioni addizionali: (aggiungile - il default è 'giustificato al
centro/sempre in primo piano/con titolo') 0 = Giustificato al centro/sempre in
primo piano/con titolo (default) 1 = Finestra senza titolo con bordo sottile 2 =
Senza l'attributo "sempre in primo piano" 4 = Testo giustificato a sinistra 8 =
Testo giustificato a destra 16 = Le finestre possono essere spostate Font
opzionale da usare. (viene usato il font di default della GUI OS se il font è "" o
non è stato trovato) font size opzionale. (il default è 12; dimensioni standard
sono 6 8 9 10 11 12 14 16 18 20 22 24 26 28 36 48 72) font weight opzionale (0 -
1000, default = 400 = normale). Un valore > 1000 è trattato come zero.
opt
Esempio SplashTextOn("Titolo", "Il messaggio va qui.", -1, -1, -1, -1, 4, "", 24)
18/05/2008
AutoIt
ToolTip ( "testo" [, x, y] )
Parametri testo x, y Il testo del tooltip. (Una stringa vuota cancella un tooltip
visualizzato) La posizione x,y del tooltip.
Osservazioni
18/05/2008
AutoIt
Parametri titolo testo timeout opzione Il titolo appare in grassetto al top del
balloon tip. (massimo 63 caratteri) Il messaggio che il "balloon tip"
visualizzerà. (massimo 255 caratteri) Un calcolo approssimativo del tempo in cui
il balloon tip sarà visualizzato. (Windows ha un min e max di circa 10-30 secondi
ma non sempre soddisfa il tempo in questo range.) [opzionale] Vedi Osservazioni.
0=Nessuna icona (default), 1=Info icon, 2=Warning icon, 3=Error icon
18/05/2008
AutoIt
AdlibDisable ( )
Parametri Nessuna.
18/05/2008
AutoIt
Osservazioni Nessuna.
Esempio AdlibDisable()
Parametri funzione time Il nome della funzione adlib da chiamare. [opzionale] con
che frequenza in millisecondi chiamare la funzione. Il default è 250 ms.
18/05/2008
AutoIt
AutoItWinGetTitle ( )
Parametri Nessuno.
Valore di ritorno
18/05/2008
AutoIt
Nessuno.
Osservazioni Nessuno.
Esempio $a = AutoItWinGetTitle()
AutoItWinSetTitle ( "newtitle" )
18/05/2008
AutoIt
Riferimenti di funzioni
BlockInput
Disabilita/abilita il mouse e la tastiera.
BlockInput ( flag )
Osservazioni Se BlockInput è abilitata, la pressione del tasto Alt non può essere
inviato! La tabella seguente mostra come il comportamento di BlockInput dipende
dalla versione di Windows; comunque, premendo Ctrl+Alt+Del su ogni piattaforma
riabiliterà l'input a causa di una caratteristica dell'API di Windows. Sistema
operativo Windows 95 "BlockInput" Risultati Nessun effetto.
18/05/2008
AutoIt
Nota che funzioni come WinMove() funzioneranno ancora su Windows 98/Me quando
BlockInput è abilitata.
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)
Break ( modalità )
18/05/2008
AutoIt
modalità
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.
Call ( "funzione" )
18/05/2008
AutoIt
Osservazioni la funzione non può ricevere nessun parametro e non può esserre una
funzione AutoIt built-in.
Esempio For $i = 1 to 2 $ret = Call("test" & $i) MsgBox(4096,"", $ret) Next Func
test1() Ritorna "Hello" EndFunc Func test2() Ritorna "Bye" EndFunc
Parametri
18/05/2008
AutoIt
drive status
La lettera del drive dello sportello CD da controllare, nel formato D:, E:, etc.
Specifica se vuoi che lo sportello CD sia aperto o chiuso: "open" o "closed"
MemGetStats ( )
Parametri
18/05/2008
AutoIt
Nessuna.
Osservazioni Nessuna.
18/05/2008
AutoIt
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!")
18/05/2008
AutoIt
PixelGetColor
Ritorna il colore di un pixel in base alle coordinate x,y del pixel.
PixelGetColor ( x , y )
Valore di ritorno Successoo: Ritorna il valore decimale del colore del pixel.
Insuccesso: Ritorna -1 se le coordinate non sono valide.
18/05/2008
AutoIt
Funzioni correlate
18/05/2008
AutoIt
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
SetError ( code )
Parametri code Il valore richiesto (numero intero) per impostare la macro @error.
18/05/2008
AutoIt
Parametri filename attesa Il nome del file che deve essere eseguito (tipicamente
un WAV o MP3) (opzionale) Questo flag determina se lo script dovrebbe attendere
che finisca il suono prima di continuare: 1 = aspetta finchè il suono finisce 0 =
continua lo script mentre il suono è in esecuzione (default)
18/05/2008
AutoIt
Esempio SoundPlay("C:\Windows\media\tada.wav")
SoundSetWaveVolume ( percentuale )
Osservazioni
18/05/2008
AutoIt
Esempio SoundSetWaveVolume(50)
TimerDiff ( timestamp )
Osservazioni Nessuna.
18/05/2008
AutoIt
TimerInit ( )
Parametri Nessuno.
Osservazioni Nessuna.
18/05/2008
AutoIt
Esempio
18/05/2008
AutoIt
URLDownloadToFile("http://www.mozilla.org", "C:\foo.html")
URLDownloadToFile("http://www.hiddensoft.com", "C:\mydownload.htm")
Esempio
18/05/2008
AutoIt
18/05/2008
AutoIt
MouseDown ( "pulsante" )
18/05/2008
AutoIt
MouseGetCursor ( )
Parametri Nessuna.
18/05/2008
AutoIt
Osservazioni Nessuna.
MouseGetPos ( )
Parametri
18/05/2008
AutoIt
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)
Esempio $pos = MouseGetPos() MsgBox(0, "Mouse x,y:", $pos[0] & "," & $pos[1])
MouseMove ( x, y [, velocità] )
18/05/2008
AutoIt
velocità
Osservazioni Nessuna.
MouseUp ( "pulsante" )
18/05/2008
AutoIt
Parametri direzione clicks "up" o "down" [opzionale] Il numero di volte con cui
muovere la rotellina. Il default è 1.
18/05/2008
AutoIt
ProcessClose ( "processo" )
18/05/2008
AutoIt
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.
ProcessExists ( "processo" )
Osservazioni
18/05/2008
AutoIt
priorità
Valore di ritorno
18/05/2008
AutoIt
Funzioni correlate
18/05/2008
AutoIt
Esempio ProcessWait("notepad.exe")
18/05/2008
AutoIt
Parametri filename workingdir flag Il nome dell'eseguibile (EXE, BAT, COM, o PIF)
da avviare. [opzionale] La directory di lavoro. [opzionale] Il flag "visualizza"
del programma eseguito: @SW_HIDE = Finestra nascosta @SW_MINIMIZE = Finestra
Minimizzata @SW_MAXIMIZE = Finestra Massimizzata
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
opzioni
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().
18/05/2008
AutoIt
Parametri filename workingdir flag Il nome dell'eseguibile (EXE, BAT, COM, o PIF)
da avviare. [opzionale] La directory di lavoro. [opzionale] Il flag "visualizza"
del programma eseguito: @SW_HIDE = Finestra nascosta @SW_MINIMIZE = Finestra
Minimizzata @SW_MAXIMIZE = Finestra Massimizzata
Valore di ritorno Successo: Ritorna il codice di uscita del programma che è stato
eseguito. Insuccesso: Dipende da RunErrorsFatal; vedi Osservazioni.
Osservazioni Per eseguire comandi DOS (console), prova RunWait(@ComSpec & " /c " &
'commandName', "", @SW_HIDE) Dopo aver eseguito il programma richiesto lo script
fa una pausa finchè il programma termina. Per eseguire un programma e continuare
immediatamente l'esecuzione dello script usa la funzione Run. Alcuni programmi
sembreranno terminare immediatamente anche se sono ancora in esecuzione; questi
programmi attivano altri processi - puoi essere in grado di usare la funzione
ProcessWaitClose per gestire questi casi. Per default lo script terminerà con un
errore fatale se la funzione Run fallisce. Per impostare @error a 1 come
indicazione dell'insuccesso, vedi AutoItSetOption.
18/05/2008
AutoIt
Shutdown ( codice )
18/05/2008
AutoIt
Sleep ( ritardo )
18/05/2008
AutoIt
18/05/2008
AutoIt
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").
Esempio
18/05/2008
AutoIt
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").
18/05/2008
AutoIt
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
18/05/2008
AutoIt
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).
Esempio $var =
RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion",
"ProgramFilesDir") MsgBox(4096, "Program files sono in:", $var)
Valore di ritorno
18/05/2008
AutoIt
18/05/2008
AutoIt
StringAddCR ( "stringa" )
Osservazioni Nessuna.
Esempio $old = "Notepad" & @LF & "è in attesa di testo" & @LF & "CRLF." $new =
StringAddCR($old)
18/05/2008
AutoIt
occurance
18/05/2008
AutoIt
StringIsAlNum ( "stringa" )
Osservazioni Tieni presente che ogni carattere whitespace (carriage return, tab,
line feed,...) causerà il fatto che StringIsAlNum ritorni 0.
18/05/2008
AutoIt
StringIsAlpha ( "stringa" )
Osservazioni Tieni presente che ogni carattere whitespace (carriage return, tab,
line feed,...) causerà il fatto che StringIsAlpha ritorni 0.
18/05/2008
AutoIt
Verifica se una stringa contiene solo caratteri ASCII nel range 0x00 - 0x7f (0 -
127).
Osservazioni Nessuna.
18/05/2008
AutoIt
18/05/2008
AutoIt
18/05/2008
AutoIt
18/05/2008
AutoIt
E f
Float Float
Float
G s
Float String
18/05/2008
AutoIt
Default
La precisione di default è 1.
e, E
g, G
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
18/05/2008
AutoIt
18/05/2008
AutoIt
18/05/2008
AutoIt
Esempio $x = " " & @LF & Chr(11) & @TAB & " " & @CRLF If StringIsSpace($x) Then
MsgBox(0,"", "La stringa contiene solo caratteri whitespace.") EndIf
18/05/2008
AutoIt
18/05/2008
AutoIt
18/05/2008
AutoIt
Esempio $result = StringLeft("Io sono una stringa ", 3) MsgBox(0, "I 3 caratteri
più a sinistra sono:", $result)
18/05/2008
AutoIt
Osservazioni Nessuna.
18/05/2008
AutoIt
Esempio $var = StringLower("Io sono una Stringa") MsgBox(0, "La stringa convertita
in caratteri minuscoli è:", $var)
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.
18/05/2008
AutoIt
Esempio $var = StringMid("Io sono una stringa ", 3, 2) MsgBox(0, "I 2 caratteri
estratti dalla posizione 3 sono:", $var)
casesense
18/05/2008
AutoIt
"bba"
Esempio $text = StringReplace("questa è una linea di testo", " ", "-") MsgBox(0,
"Title", $text)
18/05/2008
AutoIt
Esempio $var = StringRight("Io sono una stringa ", 3) MsgBox(0, "I 3 caratteri più
a destra sono:", $var)
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.
18/05/2008
AutoIt
StringStripCR ( "stringa" )
Valore di ritorno Ritorna la stringa con tutte le istanze del carattere @CR
(Chr(13)) rimosse.
Osservazioni Nessuna.
18/05/2008
AutoIt
Esempio $result = StringStripCR("Io sono una stringa" & Chr(13) & Chr(10))
MsgBox(0, "La stringa ripulita di tutti i caratteri CR è:", $result)
Parametri stringa La stringa da ripulire. Flag che indica il tipo di pulizia che
deve essere eseguita (aggiungi i flag insieme per operazioni multiple): 1 = toglie
i whitespace in testa alla stringa 2 = toglie i whitespace in coda alla stringa 4
= toglie i whitespace doppi (o più) tra le parole 8 = toglie tutti i whitespace
(sovrascrive tutti gli altri flags)
flag
18/05/2008
AutoIt
Esempio $text = StringStripWS(" questa è una linea di testo ", 3) MsgBox(0, "Tolti
da entrambe le estremità", $text)
Osservazioni Se contatore è fuori dai margini, viene ritornata una stringa vuota.
StringTrimLeft($str, $n) è funzionalmente equivalente a StringRight($str,
StringLen($str) - $n)
Funzioni correlate
18/05/2008
AutoIt
Osservazioni Se contatore è fuori dai margini, viene ritornata una stringa vuota.
StringTrimRight($str, $n) è funzionalmente equivalente a StringLeft($str,
StringLen($str) - $n)
18/05/2008
AutoIt
Osservazioni Nessuna.
18/05/2008
AutoIt
Asc ( "char" )
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.
18/05/2008
AutoIt
Chr
Ritorna un carattere corrispondente ad un codice ASCII.
Chr ( ASCIIcode )
Parametri ASCIIcode Un codice ASCII (ad es., 65 ritorna la lettera maiuscola A).
Esempio $text = "" For $i = 65 to 90 $text = $text & Chr($i) Next MsgBox(0,
"Uppercase alphabet", $text)
18/05/2008
AutoIt
Dec ( "hex" )
Eval ( espressione )
18/05/2008
AutoIt
Parametri espressione stringa che rappresenta il nome della variabile che deve
essere valutata.
Osservazioni Nessuna.
18/05/2008
AutoIt
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.
Int ( espressione )
18/05/2008
AutoIt
IsAdmin ( )
Parametri Nessuna.
Valore di ritorno
18/05/2008
AutoIt
IsArray ( variabile )
Osservazioni
18/05/2008
AutoIt
IsDeclared ( espressione )
Parametri espressione stringa che rappresenta il nome della variabile che deve
essere verificata.
Osservazioni Nessuna.
18/05/2008
AutoIt
Esempio If Not IsDeclared ("a") then MsgBox(0,"", "$a NON è stata dichiarata")
EndIf $a=1 If IsDeclared ("a") then MsgBox(0,"", "$a E' stata dichiarata" ) EndIf
; a causa di una precedente $a=1 assegnazione ; $a non è stata mai assegnata
IsFloat ( variabile )
18/05/2008
AutoIt
IsInt ( variabile )
18/05/2008
AutoIt
IsNumber ( variabile )
Osservazioni I tipi Variant possono essere di due tipi base: Stringhe e Numeri.
Inoltre, un numero può essere intero o frazionario/floating-point.
Esempio
18/05/2008
AutoIt
IsNumber(42)
IsString ( variabile )
Osservazioni Nessuna.
Esempio $x = IsString("foo")
Number
Ritorna la rappresentazione numerica di un'espressione.
Number ( espressione )
18/05/2008
AutoIt
String ( espressione )
18/05/2008
AutoIt
18/05/2008
AutoIt
Parametri titolo testo classnameNN pulsante clicks Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o l'esatto titolo/testo di un controllo con qualsiasi
carattere sottolineato rappresentato con una precedente &. [opzionale] Il pulsante
da cliccare, "sinistro", "destro" o "centrale". Il default è il pulsante sinistro.
opzionale] Il numero di volte con cui cliccare il mouse. Il default è 1.
18/05/2008
AutoIt
Parametri titolo testo classnameNN comando opzione Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o l'esatto titolo/testo del controllo con qualsiasi carattere
sottolineato rappresentato con una precedente &. Il comando da inviare al
controllo. Parametro addizionale richiesto da alcuni comandi; usa "" se il
parametro non è richiesto.
Valore di ritorno Dipende dal comando come è mostrato nella tavola seguente. Nel
caso di un errore (come ad esempio un comando o una finestra/controllo invalidi),
@error=1. Comando, opzione Valore di ritorno "IsVisible", "" "IsEnabled", ""
"HideDropDown", "" "AddString", 'stringa ' "DelString", occorrenza Ritorna 1 se il
Controllo è visibile, 0 in caso contrario Ritorna 1 se il Controllo è abilitato, 0
in caso contrario Chiude una ComboBox Aggiunge una stringa alla fine di una
ListBox o ComboBox Cancella l'occorrenza di una stringa in una ListBox o ComboBox
"FindString", 'stringa ' Ritorna l'occorrenza di una stringa esatta in una ListBox
o ComboBox
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
18/05/2008
AutoIt
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".
18/05/2008
AutoIt
18/05/2008
AutoIt
Osservazioni Nessuna.
18/05/2008
AutoIt
ControlGetText
Recupera il testo di un controllo.
18/05/2008
AutoIt
Nasconde un controllo.
18/05/2008
AutoIt
18/05/2008
AutoIt
Parametri titolo testo classnameNN stringa flag Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o il titolo/testo esatto del controllo con qualsiasi carattere
di sottolineatura indicato da una precedente &. Stringa di caratteri da inviare al
controllo. [opzionale] Cambia il modo in cui le "keys" sono elaborate: flag = 0
(default), Il testo contiene caratteri speciali come + per indicare SHIFT e {LEFT}
per indicare la freccia sinistra. flag = 1, le keys vengono inviate raw.
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
18/05/2008
AutoIt
ControlCommand, Send
Parametri titolo testo classnameNN nuovo testo Il titolo della finestra a cui
accedere. Il testo della finestra a cui accedere. Il classname è l'istanza del
controllo richiesto o il titolo/testo esatto del controllo con qualsiasi carattere
di sottolineatura indicato da una precedente &. Il nuovo testo che deve essere
inviato al controllo.
Funzioni correlate
18/05/2008
AutoIt
ControlGetText, ControlCommand
Funzioni correlate
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
Funzioni correlate
18/05/2008
AutoIt
Osservazioni Nessuna.
18/05/2008
AutoIt
Esempio
18/05/2008
AutoIt
Esempio If WinExists("Untitled -") Then MsgBox(0, "", "La finestra esiste") EndIf
18/05/2008
AutoIt
WinGetCaretPos ( )
Parametri Nessuno.
18/05/2008
AutoIt
; 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
18/05/2008
AutoIt
Esempio $text = WinGetClassList("Untitled -", "") MsgBox(0, "Il testo letto è:",
$text)
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
18/05/2008
AutoIt
Parametri
18/05/2008
AutoIt
titolo testo
Valore di ritorno Successo: Ritorna un valore che indica lo stato della finestra.
Valori multipli sono addizionati insieme, perciò usa BitAND() per esaminare la
parte a cui sei interessato: 1 = La finestra esiste 2 = La finestra è visibile 4 =
La finestra è abilitata 8 = La finestra è attiva 16 = La finestra è minimizzata 32
= La finestra è massimizzata
Osservazioni Nessuna.
18/05/2008
AutoIt
Valore di ritorno Ritorna una stringa contenente il testo di una finestra letto.
Esempio $text = WinGetText("Untitled -", "") MsgBox(0, "Il testo letto è:", $text)
18/05/2008
AutoIt
Esempio $title = WinGetTitle("Untitled -", "") MsgBox(0, "Il titolo completo letto
è:", $title)
18/05/2008
AutoIt
Parametri
18/05/2008
AutoIt
Il titolo della finestra da leggere. Il testo della finestra da leggere. Testo del
Menu Item (opzionale) Testo del SubMenu item (opzionale) Testo del SubMenu item
(opzionale) Testo del SubMenu item (opzionale) Testo del SubMenu item (opzionale)
Testo del SubMenu item (opzionale) Testo del SubMenu item
18/05/2008
AutoIt
WinMinimizeAll ( )
Parametri Nessuno.
Esempio WinMinimizeAll()
WinMinimizeAllUndo ( )
18/05/2008
AutoIt
Parametri Nessuno.
Esempio WinMinimizeAllUndo()
18/05/2008
AutoIt
larghezza altezza
Parametri
18/05/2008
AutoIt
18/05/2008
AutoIt
testo
flag
18/05/2008
AutoIt
18/05/2008
AutoIt
testo timeout
18/05/2008
AutoIt
18/05/2008
AutoIt
18/05/2008
AutoIt
18/05/2008
AutoIt
Ritorna il nome del weekday, basato sul giorno specificato. Ritorna il numero di
giorni in un mese, basato sul mese e anno specificato. Ritorna 1 se l'anno
specificato è un anno bisestile e ritorna 0 se non lo è. Ritorna 1 se il numero di
mese specificato è valido e ritorna 0 se non lo è. Ritorna 1 se l'anno specificato
è valido e ritorna 0 se non lo è. Ritorna il numero di mese precedente, basato sul
mese specificato. Ritorna l'anno del mese precedente, basato sul mese e anno
specificato. Ritorna il numero di weekday precedente, basato sul giorno della
settimana specificato. Ritorna il nome del mese, basato sul mese specificato.
Ritorna il numero del mese successivo, basato sul mese specificato. Ritorna l'anno
del mese successivo, basato sul mese e anno specificato. Ritorna il numero di
weekday successivo, basato sul giorno della settimana specificato. Converte il
tick specificato in ore, minuti, e secondi. Ritorna 1 se l'ora specificata è
valida e ritorna 0 se non lo è. Ritorna 1 se il minuto specificato è valido e
ritorna 0 se non lo è. Ritorna 1 se il secondo specificato è valido e ritorna 0 se
non lo è. Converte le ore, minuti, e secondi specificati in ticks.
18/05/2008
AutoIt
Valuta quale di due numeri è maggiore. Valuta quale di due numeri è minore.
Ripete una stringa uno specificato numero di volte. Inverte i contenuti di una
stringa specificata.
Appendix Reference
Caratteri Ascii CLSIDs of Cartelle Speciali Stili di Controlli GUI Splash... Fonts
OsLang Values Send Key List
Caratteri ASCII
Questa lista è utile con le funzioni Asc e Chr. I caratteri ASCII sono tratti da
ASCII Character Set Caratteri di Controllo (prevalentemente non stampabili; i più
utili sono evedenziati in giallo.) Char... NUL SOH STX ETX 0 1 2 3 Dec Hex 00 01
02 03 Carattere Null Inizio dell'intestazione, = console interrupt Inizio del
testo, maintenance mode su console HP Fine del testo Descrizione
18/05/2008
AutoIt
EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB
ESC FS GS RS US
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 17 19 1a 1b 1c 1d 1e
1f
Fine della trasmissione, non lo stesso di ETB Interrogazione, va con ACK; vecchio
flusso di coltrollo HP Acknowledge, cancella ENQ logon hand Campanello, suona il
campanello... (Suona il beep di default di Windows) Backspace, funziona su
terminali/computer HP Tab orizzontale, muove fino al prossimo tab stop Line Feed
Tab verticale Form Feed, espulsione della pagina Carriage Return Shift Out, serie
alternativa di caratteri Shift In, ricomincia la serie di caratteri di default
Data link escape XON, con XOFF per sospendere listati; ":okay per inviare". Device
control 2, flusso di controllo block-mode XOFF, con XON è flusso di controllo
TERM=18 Device control 4 Autenticazione Negativa Sincrono inattivo Fine blocco di
trasmissione, non è lo stesso di EOT Cancel line, MPE echoes !!! Fine di medium,
Control-Y interrupt Sostituto Escape, il carattere successivo non è echoed
Separatore di File Separatore di Gruppo Separatore di Record, terminatore block-
mode Separatore di Unit
18/05/2008
AutoIt
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
63 64 65 66 67 68 69 70 71 72
24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e
3f 40 41 42 43 44 45 46 47 48
18/05/2008
AutoIt
I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109
49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63
64 65 66 67 68 69 6a 6b 6c 6d
18/05/2008
AutoIt
n o p q r s t u v w x y z { | } ~
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f
Set di caratteri estesi(ANSI) Char € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Dec 128 129 130 131 132
133 134 135 136 137 138 139 140 141 Hex 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D
Nota: Non visualizzato in questo file html compilato in help file Nota: Non
visualizzato in questo file html compilato in help file Descrizione
18/05/2008
AutoIt
8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8
A9 AA AB AC AD AE AF B0 B1 B2 Nota: Può non essere visualizzato in questo file
html compilato in help file Nota: Non visualizzato in questo file html compilato
in help file Nota: Non visualizzato in questo file html compilato in help file
Nota: Non visualizzato in questo file html compilato in help file
‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
165 166 167 168 169 170 171 172 173
® ¯ ° ± ²
18/05/2008
AutoIt
³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö ×
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD
CE CF D0 D1 D2 D3 D4 D5 D6 D7
18/05/2008
AutoIt
Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2
F3 F4 F5 F6 F7 F8 F9 FA FB FC
18/05/2008
AutoIt
ý þ ÿ
FD FE FF
Lista CLSID
Per uso con FileOpenDialog, FileSaveDialog, o FileSelectFolder Lista tratta da
Online Security > Windows Tips & Tricks Nota: Non tutti i valori possono
funzionare come parametri per le funzioni AutoIt elencate sopra. Esempio:
FileSelectFolder ("Scegli una cartella.", "::{00000000-1080F9E5-6311-
4162E05A6BEE}", 1) Cartella Administrative Tools Briefcase Control Panel Fonts
History Inbox Microsoft Network My Computer My Documents My Network Places Network
Computers Network Connections Printers and Faxes Programs Folder Recycle Bin
Scanners and Cameras Scheduled Tasks Start Menu Folder Temporary Internet Files
Web Folders Valore per il parametro di directory del File___ "::{D20EA4E1-3957-
11d2-A40B-0C5020524153}" "::{85BBD92O-42A0-1O69-A2E4-08002B30309D}" "::{21EC2O2O-
3AEA-1O69-A2DD-08002b30309d}" "::{D20EA4E1-3957-11d2-A40B-0C5020524152}"
"::{FF393560-C2A7-11CF-BFF4-444553540000}" "::{00020D75-0000-0000-C000-
000000000046}" "::{00028B00-0000-0000-C000-000000000046}" "::{20D04FE0-3AEA-1069-
A2D8-08002B30309D}" "::{450D8FBA-AD25-11D0-98A8-0800361B1103}" "::{208D2C60-3AEA-
1069-A2D7-08002B30309D}" "::{1f4de370-d627-11d1-ba4f-00a0c91eedba}" "::{7007ACC7-
3202-11D1-AAD2-00805FC1270E}" "::{2227A280-3AEA-1069-A2DE-08002B30309D}"
"::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}" "::{645FF040-5081-101B-9F08-
00AA002F954E}" "::{E211B736-43FD-11D1-9EFB-0000F8757FCD}" "::{D6277990-4C6A-11CF-
8D87-00AA0060F5BF}" "::{48e7caab-b918-4e58-a94d-505519c795dc}" "::{7BD29E00-76C1-
11CF-9DD0-00A0C9034933}" "::{BDEADF00-C265-11d0-BCED-00A0C90AB50F}"
18/05/2008
AutoIt
Lista basata su Standard Windows fonts Comunque, questa lista può contenere bugs!
I Fonts raccomandati sono evidenziati in giallo. FONT NAME Abadi MT Condensed
Light Arial Arial Alternative Regular Arial Alternative Symbol Arial Black Arial
Bold Arial Bold Italic Arial Italic Book Antiqua Calisto MT Century Gothic Century
Gothic Bold Century Gothic Bold Italic Century Gothic Italic Comic Sans MS Comic
Sans MS Bold Copperplate Gothic Bold Copperplate Gothic Light Courier Courier New
Courier New Bold Courier New Bold Italic Courier New Italic Estrangelo Edessa
Franklin Gothic Medium Franklin Gothic Medium Italic Gautami Georgia Georgia Bold
Georgia Bold Italic Georgia Italic Georgia Italic Impact Impact Latha x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Win95 WinNT Win98 x
x x x x x x x x x x x x x x Win2000 WinMe WinXP
18/05/2008
AutoIt
Lucida Console Lucida Handwriting Italic Lucida Sans Italic Lucida Sans Unicode
Marlett Matisse ITC Modern Modern MS Sans Serif MS Sans Serif MS Serif Mv Boli
News Gothic MT News Gothic MT Bold News Gothic MT Italic OCR A Extended Palatino
Linotype Palatino Linotype Bold Palatino Linotype Bold Italic Palatino Linotype
Italic Roman Script Small Fonts Smallfonts Symbol Tahoma Tahoma Bold Tempus Sans
ITC Times New Roman Times New Roman Bold Times New Roman Bold Italic Times New
Roman Italic Trebuchet Trebuchet Bold Trebuchet Bold Italic Trebuchet Italic
Trebuchet MS Trebuchet MS Bold x x x x x x x x x
x x x x x x
x x x
x x x
x x x x x x x
x x x x x x x
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
x x x x x x
x x x x x x x x x x x x x
x x
18/05/2008
AutoIt
Trebuchet MS Bold Italic Trebuchet MS Italic Tunga Verdana Verdana Bold Verdana
Bold Italic Verdana Italic Webdings Westminster Wingdings WST_Czech WST_Engl
WST_Fren WST_Germ WST_Ital WST_Span WST_Swed x x x x x x x x
x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x
@OSLang codes
Possibili valori di ritorno (stringhe) di @OSLang La lista è stata generata da
Windows 2000 - Lista di Locale IDs e Language Groups Note: I codici che contengono
lettere potrebbero avere lettere in maiuscolo. Codice 0436 041c 0401 0801 0c01
1001 1401 1801 1c01 2001 2401 2801 Significato Afrikaans Albanian
Arabic_Saudi_Arabia Arabic_Iraq Arabic_Egypt Arabic_Libya Arabic_Algeria
Arabic_Morocco Arabic_Tunisia Arabic_Oman Arabic_Yemen Arabic_Syria
18/05/2008
AutoIt
2c01 3001 3401 3801 3c01 4001 042b 042c 082c 042d 0423 0402 0403 0404 0804 0c04
1004 1404 041a 0405 0406 0413 0813 0409 0809 0c09 1009 1409 1809 1c09 2009 2409
2809 2c09 3009 3409 0425
18/05/2008
AutoIt
0438 0429 040b 040c 080c 0c0c 100c 140c 180c 0437 0407 0807 0c07 1007 1407 408
040d 0439 040e 040f 0421 0410 0810 0411 043f 0457 0412 0426 0427 042f 043e 083e
044e 0414 0814 0415 0416
18/05/2008
AutoIt
0816 0418 0419 044f 081a 0c1a 041b 0424 040a 080a 0c0a 100a 140a 180a 1c0a 200a
240a 280a 2c0a 300a 340a 380a 3c0a 400a 440a 480a 4c0a 500a 0441 041d 081d 0449
0444 041e 041f 0422 0420
18/05/2008
AutoIt
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
18/05/2008
AutoIt
Per inviare il valore ASCII A (lo stesso premendo ALT+065 sulla tastiera numerica)
Send("{ASC 65}") Chiavi singole possono essere anche ripetute, ad es. Send("{DEL
4}") ;Preme la chiave DEL 4 volte Send("{S 30}") ;Invia 30 caratteri 'S'
Send("+{TAB 4}) ;Preme SHIFT+TAB 4 volte Mantiene premuta una chiave (generalmente
utile solo per i giochi) Send("{a down}") ;Mantiene premuta la chiave A Send("{a
up}") ;Rilascia la chiave A Se vuoi usare una variabile per il conteggio, prova $n
= 4 Send("+{TAB " & $n & "}") Se vuoi inviare il valore ASCII A quattro volte,
prova $x = Chr(65) Send("{" & $x & " 4}") Molte tastiere di computer portatili
hanno una chiave speciale Fn. Questa chiave non può essere simulata. Nota,
impostando il parametro flag a 1 il parametro "keys" è inviato RAW. Ciò è utile
quando vuoi inviare del testo copiato da una variabile e vuoi che il testo sia
inviato esattamente come è scritto. Send è molto utile perchè le finestre possono
essere navigate senza bisogno del mouse. Per esempio, apri opzioni Cartelle (nel
Pannello di Controllo) e prova il seguente: Send("{TAB}") Send("+{TAB}")
Send("^{TAB}") Send("^+{TAB}") Send("{SPACE}") Send("{+}") Send("{-}") Send
("{NumPadMult}") Naviga fino al prossimo controllo (pulsante, checkbox, etc)
Naviga fino al precedente controllo. Naviga fino al prossimo WindowTab (su una
finestra Tabbed dialog) Naviga fino al precedente WindowTab. Può essere usato per
impostare una checkbox o cliccare sun un pulsante. Di solito è usato per
selezionare una checkbox (se è una checkbox "reale".) Di solito deseleziona una
checkbox. Espande ricorsivamente cartelle in una SysTreeView32.
Usa combinazioni Alt-key per accedere a voci di menu. Inoltre, apri Blocco Note e
prova il
18/05/2008
AutoIt
Comando Send (se il flag è zero) {!} {#} {+} {^} {{} {}} {SPACE} {ENTER} {ALT}
{BACKSPACE} or {BS} {DELETE} or {DEL} {UP} {DOWN} {LEFT} {RIGHT} {HOME} {END}
{ESCAPE} or {ESC} {INSERT} or {INS} {PGUP} {PGDN} {F1} - {F12} {TAB} {PRINTSCREEN}
{LWIN} {RWIN}
18/05/2008
AutoIt
NUMLOCK Ctrl+Break PAUSE CAPSLOCK Numpad digits Numpad Multiply Numpad Add Numpad
Subtract Numpad Divide Numpad period Enter key on the numpad Windows App key Left
ALT key Right ALT key Left CTRL key Right CTRL key Left Shift key Right Shift key
Computer SLEEP key Mantiene la chiave ALT premuta finchè è inviato {ALTUP}
Mantiene la chiave SHIFT premuta finchè è inviato {SHIFTUP} Mantiene la chiave
CTRL premuta finchè è inviato {CTRLUP} Mantiene la chiave left Windows premuta
finchè è inviato {LWINUP} Mantiene la chiave right Windows premuta finchè è
inviato {RWINUP} Invia la combinazione ALT+nnnn
Solo 2000/XP: Seleziona il pulsante "back" del browser Solo 2000/XP: Seleziona il
pulsante "forward" del {BROWSER_FORWARD} browser Solo 2000/XP: Seleziona il
pulsante "refresh" del {BROWSER_REFRESH} browser Solo 2000/XP: Seleziona il
pulsante "stop" del {BROWSER_STOP} browser Solo 2000/XP: Seleziona il pulsante
"search" del {BROWSER_SEARCH} browser Solo 2000/XP: Seleziona il pulsante
"favorites" {BROWSER_FAVORITES} del browser {BROWSER_BACK}
18/05/2008
AutoIt
Solo 2000/XP: Lancia il browser e va alla home page {VOLUME_MUTE} Solo 2000/XP:
Disattiva il volume {VOLUME_DOWN} Solo 2000/XP: Riduce il volume {VOLUME_UP} Solo
2000/XP: Aumenta il volume Solo 2000/XP: Seleziona la prossima traccia in
{MEDIA_NEXT} media player Solo 2000/XP: Seleziona la traccia precedente in
{MEDIA_PREV} media player {MEDIA_STOP} Solo 2000/XP: Stop media player
{MEDIA_PLAY_PAUSE} Solo 2000/XP: Play/pause media player Solo 2000/XP: Lancia
l'applicazione di default per {LAUNCH_MAIL} le email {LAUNCH_MEDIA} Solo 2000/XP:
Lancia media player {LAUNCH_APP1} Solo 2000/XP: Lancia user app1 {LAUNCH_APP2}
Solo 2000/XP: Lancia user app2 {BROWSER_HOME}
Ringraziamenti
In nessun ordine in particolare, ma grazie a tutti! (-Jon) Per favore vedi qui per
i dettagli sui contributi al codice. (Inviatemi un'email se non siete stati
inclusi).
AutoIt v3 Coding
- Jonathan Bennett <jon@hiddensoft.com> - Larry Keys <larrydalooza@yahoo.com> -
David Nuttall <danuttall@autoit3> - J-Paul Mesnage <jpaul-mesnage@ifrance.com> -
Jason Boggs <vampirevalik@hotmail.com> - Tylo <tylo@start.no> - Jeremy Landes
<jlandes@landeserve.com> - Cyberslug <cyberslug@autoitscript.com> - JdeB
<jvdzande@yahoo.com> - Holger <Holger.Kotsch@GMX.de> - Garrett "The
HardlyDeservesCreditFor20LinesOfCode" R. Mueller ;) <garrett@mailsnare.net>
18/05/2008
AutoIt
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.
18/05/2008
AutoIt
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
18/05/2008
AutoIt
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-