Verze 2.42 - (C)1999, 2000 Jonathan Bennett

(Email: jbennett@hidden.demon.co.uk)

domovská stránka AutoIt

Rychlý přehled příkazů

[AdlibOn] [AdlibOff] [BlockInput] [Break] [DetectHiddenText] [Exit] [EndRepeat] [EnvAdd] [EnvSub] [FileAppend] [FileReadLine] [Gosub] [Goto] [HideAutoItWin] [IfWinExist] [IfWinNotExist] [IfWinActive] [IfWinNotActive] [IfEqual] [IfNotEqual] [IfExist] [IfNotExist] [IfMsgBox] [IniRead] [IniWrite] [IniDelete] [InputBox] [LeftClick] [LeftClickDrag] [MouseGetPos] [MouseMove] [MsgBox] [RegRead] [RegWrite] [RegDelete] [Return] [RightClick] [RightClickDrag] [Run] [RunWait] [Repeat] [Send] [SetEnv] [SetKeyDelay] [SetTitleMatchMode] [SetWinDelay] [Shutdown] [Sleep] [SplashTextOn] [SplashTextOff] [WinGetActiveTitle] [WinKill] [WinWait] [WinWaitClose] [WinWaitActive] [WinWaitNotActive] [WinHide] [WinRestore] [WinShow] [WinMinimize] [WinMaximize] [WinActivate] [WinClose] [WinMinimizeAll] [WinMove] [WinSetTitle

Obsah

1. Úvod

2. Účel použití

3. Licence

4. Prohlášení o roku 2000

5. Formát nápovědy

6. Spuštení AutoIt

7. Aut2Exe - Konverze skriptu do .exe

8. Syntaxe skriptu

9. Názvy oken a jejich text

10. Proměnné DOSu

11. Proměnná schránky

12. Speciální proměnné

13. Příkazy skriptu

14. Syntaxe příkazu "Send"

15. Část [ADLIB]

16. Příklady

17. Historie AutoIt

18. Soupis přání

19. Poděkování ...

Úvod

AutoIt je nástroj k automatizaci kterýchkoli jednoduchých úloh ve Windows a v DOSu. Původně byl určen k podpoře automatického nainstalování programů, které se nemohou instalovat bez dalších prostředků. To je nejvíce využitelné v situacích, kdy je třeba samočinně nainstalovat stovky či tisíce klientských počítačů. Mnoho programů, jako MS Office, Mcafee, IE4 atd. nabízí svou vlastní automatickou instalaci. Avšak většina softwaru žádnou takovouto možnost nemá. Právě tehdy přichází ke slovu AutoIt. AutoIt může též zautomatizovat některé malé úlohy na vašem počítači.

Když spustíte AutoIt, program si načte vámi specifikovaný soubor skriptu. Tento soubor umožňuje AutoIt vykonávat velké množství funkcí, které obsahují:

Je zkrátka nejlepší ze všech, je malý (samotný .exe soubor, žádné DLL knihovny, žádné zásahy do registru) a ZADARMO! (a zůstane zadarmo).

Nově od verze 2.1 je navíc program Aut2Exe. Tento program vytvoří samostatně spustitelný soubor z AutoIt skriptu.

Nově od verze 2.21 můžete nyní navíc posílat decimální ASCII kódy, podobně jako při použití klávesy ALT a numerické klávesnice (např. ALT+65='A'). Tato funkce je využitelná pro poslání znaků, které obvykle činí potíže (např. '~' na italské klávesnici).

Stále potřebné jsou ne-anglické verze tohoto dokumentu! (V jakémkoliv formátu, pokud jste ochotni pomoct.) - Právě vzniklé překlady si můžete zajistit na domovské stránce AutoIt.

Zpět na Obsah

Účel použití

Tento program je vyvinut pro provádění jednoduchých automatizovaných úloh ve Windows. Není určený jako kompletní skriptovací jazyk. Pro provádění složitých úloh (manipulace s registry, analýza textového souboru, složité cykly, atd.) Vám doporučuji používat AutoIt ve spojení s některým kompletním skriptovacím jazykem (jako WSH or Kixtart - oba volně šířitelné) a používat AutoIt pro "vyplnění mezer". Současné moto AutoIt je "If it can't be done on a single line - it's probably too complicated" (volně přeloženo: Pokud to nemůže být uděláno na jedné řádce - je to pravděpodobně příliž složité). Tento přístup se dosud vyplácel a pomáhá udržovat velikost samotného programu na nízkých hodnotách (je to malinký program!).

Já osobně používám AutoIt k obšírným konfiguracím počítačů. Používám Kixtart/WSH záložní procesor ke kopírování a spouštění souborů, editování registrů a potom ke spuštění AutoIt, když potřebuju provádět konfigurace, které nevyžadují ruční vkládání (instalace softwaru, konfigurování ovládacích panelů, změna písmen diskových jednotek atd.)

Zpět na Obsah

Licence

Prohlédněte si prosím soubor License.txt přiložený v tomto archivu.

Zpět na Obsah

Prohlášení o roku 2000

U programu AutoIt podle mínění autora nedochází k žádným komplikacím v souvislosti s rokem 2000.

Zpět na Obsah

Obecné zásady

Parametry jsou ukázány ve lomených závorkách, volitelné parametry v hranatých závorkách.

např.
<příkaz>, <parametr1> [,<parametr2>]

Tohle je příkaz, následovaný čárkou a parametrem1, popřípadně následovaný čárkou a parametrem2.

tzn.
<příkaz>, <parameter1>

NEBO

<příkaz>, <parameter1>, <parameter2>

Zpět na Obsah


Spouštění AutoIt

AutoIt může být spuštěn z příkazového řádku, nebo poklepáním na jeho ikonu v Průzkumníku Windows.

>>> Všimněte si:  JEDINÝ soubor potřebný ke spuštění AutoIt je "AutoIt2.exe", umístěním tohoto souboru do cesty (PATH) na jakémkoliv počítači vám umožní spouštět AutoIt skripty z příkazové řádky (níže). <<<

Syntaxe z příkazové řádky

AutoIt lze spustit z příkazového řádku následujícími dvěma způsoby (ujistěte se, že AutoIt2.exe je umístěn v cestě (PATH), nebo že spouštíte příkazy z adresáře, kde je nainstalován):

AutoIt2.exe /reveal

NEBO

AutoIt2.exe <název souboru skriptu>


Reveal mód

Když spustíte "reveal" mód, zůstane okno AutoIt vždy navrchu. Zaktivujete-li jiná okna, AutoIt zobrazí jejich názvy, pozici kurzoru myši (souřadnice, vztahující se k tomu oknu), a jakýkoliv další text v tom okně, který by mohl pomoci odlišit jej od ostatních oken stejného názvu. Stejně jako u MS ScriptIt "nevidí" AutoIt všechen text, který je v okně - experimentujte!

Informace v okně AutoIt reveal módu mohou být označeny myší a zkopírovány do schránky pomocí "CTRL-C", poté mohou být vloženy do jiného programu / textového editoru.

Scriptovací mód

AutoIt spustí skript, jehož název souboru zadáte v příkazovém řádku. Tento soubor může mít libovolnou koncovku (pokud používáte běžný instalační postup, zaregistruje se automaticky extence .aut, což vám umožní snadno spouštět nebo editovat skript).

Používání parametrů příkazové řádky

Parametry mohou být předány AutoIt skriptu z příkazové řádky pomocí následující syntaxe:

AutoIt2.exe <název souboru skriptu> /p param1 param2 param3........param3

Tyto parametry jsou potom ve skriptu dostupné jako ENV proměnné %1%, %2%, %3%, atd.  

Pokud má parametr obsahovat mezery, dejte ho celý do uvozovek, např.:

AutoIt2.exe pokus.aut /p "D:\Dlouhý název souboru" pok2

%1% se rovná D:\Dlouhý název souboru

%2% se rovná pok2

Zpět na Obsah

Aut2Exe - Konverze skriptů do .exe

Aut2Exe může být nainstalován společně s AutoIt (pouze v plné instalaci). Tento program načte AutoIt skript a převede jej na spustitelný program. Výsledný exe soubor může být poté spouštěn bez nainstalovaného AutoIt. Je též možné přidělit mu ikonu, která však musí být ve formátu ICO, tj. 32x32 obr. bodů a 16 barev (soubor má mít velikost 766 bytů).

Zdrojový kód skriptu je viditelný ke konci exe souboru, ale je zakódován pro ochranu před zvědavými osobami! (Kódování není zas tak složité, ale zabrání většíně "rádoby- hackerů", aby získali přístup k vaším skriptům. Já vím, že bych nebyl schopen to cracknout, ale potom nejsem žádný expert... :) ).

V budoucnu by mohla přibýt možnost rozkódování vámi zaheslovaných skriptů (zatím nemažte vaše originální skripty!! ;) ).

Stále můžete zadávat parametry z příkazové řádky spuštěním "mujskript.exe /p param1 param2.....".

Zpět na Obsah

Syntaxe skriptu

Soubor skriptu je standardní textový soubor, kterému může být přidělena jakákoliv koncovka (ovšem koncovka .aut je preferovaná). Každý řádek může obsahovat buď příkaz, komentář, jméno návěští, nebo může být ponechán prázdný.

POZOR: Maximální počet znaků na řádku je 1024.  Jakékoliv další znaky budou ignorovány.

; Začátek skriptu
; Komentáře jsou označeny středníkem na začátku

<Příkaz>, <Parametry příkazu>
<Příkaz2>, <Parametry příkazu 2>
<Příkaz3>, <Parametry příkazu 3>

; Toto je návěští, jeho název musí končit dvojtečkou (:) a je používáno pro příkazy typu Gosub a Goto.
label:

; Konec skriptu
Exit

; Začátek sekce ADLIB
[ADLIB]
<Název>, <Text>, <Příkaz>, <Parametry příkazu>

Zpět na Obsah

Speciální znaky

Obrácené lomítko '\', čárka ',' a procento '%' jsou brány jako speciální znaky, a musíte dávat pozor při jejich použití.

',' se používá pro oddělení parametrů ve skriptu.
'%' se používá k označení proměnné DOSu.

Pokud si přejete použít tyto znaky doslovně, musí jim předcházet znak lomítka '\', např. "\," nebo "\%". Pokud chcete doslovně použít '\', musíte na to jít stejným způsobem, tz. "\\".

Výrazy "\n" a "\t" lze použít k udání nových řádků (enterů) a tabulátorů ve "výstupních" funkcích AutoIt příkazů MsgBox a InputBox.

Zpět na Obsah

Názvy oken a jejich text

Mnohé příkazy skriptu mají parametry "Název okna" a "Text okna".
"Název okna" je text, který je zobrazován v titulním pruhu okna.
"Text okna" je jakýkoliv text v tom okně, popř. text tlačítek jako "OK" či "Zrušit".

Definování "Textu okna" vám pomůže odlišit od sebe okna se stejnými názvy.

Ani název ani text nemusí být plně specifikovány.
např. "Bez názvu - Po" bude souhlasit s oknem "Bez názvu - Poznámkový blok".
Podívejte se na text u příkazu SetTitleMatchMode pro další informace.

Použijte funkci "/reveal" k odhalení textu v okně.

POZOR: Názvy oken a jejich text jsou citlivé na rozlišování VELKÝCH A MALÝCH PÍSMEN!!!!!

Zpět na Obsah

Proměnné DOSovského prostředí

Kdekoliv v AutoIt skriptu můžete používat proměnné DOSu. Podobně jako v DOSovských dávkových (batch-) souborech stačí vložit název proměnné do procent (%).


Pokud chcete třeba vložit obsah aktuální DOSovské cesty (PATH) do poznámkového bloku, můžete to učinit takto:


Run, notepad.exe
WinWaitActive, Bez názvu - Poznámkový blok
Send, Toto je DOSovská cesta %PATH%


např. Tento příklad nastaví proměnnou test a poté ji ukáže v textovém rámečku.
SetEnv, test, Toto je nějaký výstup
MsgBox, 0, Ukázka, %test%


POZOR: Pokud chcete použít znak procenta aniž by byl chápán jako proměnná, musíte před něj vzhledem k tomuto speciálnímu stavu napsat znak lomítka '\'.
např.
Send, Tohle pošle znak procenta: \%

Můžete též použít příkaz "SetEnv" k nastavení proměnných, ale tyto změny nebudou z DOSu viditelné - hodnoty budou platné pouze pro tento skript.

POZOR: Mnohé AutoIt skripty hlásí, že očekávají název proměnné jako parametr, v tomto případě se symbol % nepoužívá. Hodně ukázkových skriptů přiložených k AutoIt to předvádí.


Zpět na Obsah

Proměnná schránky

Proměnná %CLIPBOARD% je speciální, a když je použita, bude nahrazena textem uloženým ve schránce. Pokud například zkopírujete text "Haló!" do schránky a potom spustíte následující skript:

MsgBox, 0, Příklad, Ve shcránce je: %clipboard%

Výstupem skriptu bude text "Ve schránce je: Haló!".

Obdobně, chcete-li odeslat text do schránky, můžete tak učinit pomocí příkazu SetEnv.  Např. k zkopírování textu "Já jsem vložený text" do schránky můžete spustit:

SetEnv, clipboard, Já jsem vložený text


Zpět na Obsah

Speciální proměnné

Existuje množství speciálních proměnných v AutoIt, které jsou popsány níže:

AutoIt porměnná obsahuje
A_OSTYPE Typ operačního systému, který právě běží. Buď "WIN32_WINDOWS" nebo "WIN32_NT".
A_SCRIPTNAME Název tohoto (běžícího) skriptu, např. "mujskript.aut".
A_SCRIPTDIR Adresář, ve kterém je skript umístěn.
A_SCRIPTFULLPATH Plný název cesty a souboru skriptu, např. "C:\Windows\Scripts\myscript.aut".
A_WORKINGDIR Současný pracovní adresář.
   
A_SEC Vteřiny (za minutou) (00-59)
A_MIN Minuty (za hodinou) (00-59)
A_HOUR Hodiny (po půlnoci) (00-23)
A_MDAY Den v měsíci (01-31)
A_MON Měsíc v roce (01-12)
A_YEAR Současný rok (4-číslicový formát, např. 2000)
A_WDAY Den v týdnu (1-7)
A_YDAY Den v roce (1-366)

Příkazy skriptu

Následující příkazy jsou současně rozpoznávány (příkazy nejsou citlivé na velká a malá písmena):

AdlibOn
AdlibOff

BlockInput, <on | off> (on=zapnuto; off=vypnuto - pozn. překl.)
Break, <on | off>
DetectHiddenText, <on | off>
Exit
EndRepeat
Gosub, <label (návěští)>
EnvAdd, <proměnná>, <hodnota>
EnvSub, <proměnná>, <hodnota>

FileAppend, <text>, <název souboru>
FileReadLine, <proměnná>, <název souboru>, <řádek>
Goto, <návěští>
HideAutoItWin, <on | off>
IfWinExist, <název okna>, [<text okna>], <příkaz>
IfWinNotExist, <název okna>, [<text okna>], <příkaz>
IfWinActive, <název okna>, [<text okna>], <příkaz>
IfWinNotActive, <název okna>, [<text okna>], <příkaz>

IfEqual, <proměnná>, <text>, <příkaz>
IfNotEqual, <
proměnná>, <text>, <příkaz>
IfExist, <soubor nebo adresář>, <příkaz>
IfNotExist, <soubor nebo adresář>, <
příkaz>
IfMsgBox, <vrácená hodnota>, <příkaz>
IniRead, <proměnná>, <název souboru>, <část>, <klíč>
IniWrite, <hodnota>, <název souboru>, <část>, <klíč>
IniDelete, <název souboru>, <část>, <klíč>
InputBox, <proměnná>, <název>, <zpráva>
LeftClick, <x>, <y>
LeftClickDrag, <x1>, <y1>, <x2>, <y2>
MouseGetPos, <x proměnná>, <y proměnná>
MouseMove, <x pozice>, <y pozice>
MsgBox, <mód zobrazení>, <název>, <zpráva>
RegRead, <proměnná>, <typ hodnoty>, <klíč registru>, <podklíč registru>, <název hodnoty>
RegWrite, <typ hodnoty>, <klíč registru>, <podklíč registru>, <název hodnoty>, <hodnota>
RegDelete, <klíč registru>, <podklíč registru>, <název hodnoty>
Repeat, <počet>
Return
RightClick, <x>, <y>
RightClickDrag, <x1>, <y1>, <x2>, <y2>
Run, <cesta a název programu> [,<pracovní adresář>]
RunWait, <cesta a název programu> [,<pracovní adresář>]
Send, <série stisků kláves>
SetEnv, <proměnná>, <hodnota>
SetKeyDelay, <milisekundy>
SetTitleMatchMode, <mód>
SetWinDelay, <milisekundy>
Shutdown, <vlajka>
Sleep, <milisekundy>
SplashTextOn, <šířka>, <výška>, <název>, <zpráva>
SplashTextOff
WinGetActiveTitle, <proměnná>
WinKill, <název okna> [,<text okna>]
WinWait, <název okna> [,<text okna>]
WinWaitClose, <název okna> [,<text okna>]
WinWaitActive, <název okna> [,<text okna>]
WinWaitNotActive, <název okna> [,<text okna>]
WinHide, <název okna> [,<text okna>]
WinRestore, <
název okna> [,<text okna>]
WinShow, <
název okna> [,<text okna>]
WinMinimize, <název okna> [,<text okna>]
WinMaximize, <
název okna> [,<text okna>]
WinActivate, <
název okna> [,<text okna>]
WinClose, <
název okna> [,<text okna>]
WinMinimizeAll
WinMove, <název okna>, [<text okna>], <X>, <Y>, <šířka>, <výška>
WinSetTitle, <název okna>, [<text okna>], <nový název>

Syntaxe jednotlivých příkazů je popsána níže.

Zpět na Obsah

AdlibOn
AdlibOff


Tento příkaz zapne / vypne zpracování sekce [ADLIB].


BlockInput, <on | off>

Tento příkaz zablokuje uživateli vstup z klávesnice i myši. To funguje různě v závislosti na verzi operačního systému, jak je popsáno níže:

Operační systém výsledek použití "BlockInput"
   
Windows 95 nemá efekt
Windows 98 Uživatelský vstup je blokován, ale AutoIt jej též nemůže simulovat.
Windows NT 4 (bez ServicePack 6) nemá efekt
Windows NT 4 (se ServicePack 6) Uživatelský vstup je blokován a AutoIt jej může simulovat.
Windows 2000 Uživatelský vstup je blokován a AutoIt jej může simulovat.

Vstup se automaticky obnoví po skončení běhu skriptu.


Break, <on | off>

Tento příkaz sdělí AutoIt, jestli jej může uživatel zavřít, nebo ne. Původní nastavení je "on" - zapnuto (uživatel může zavřít AutoIt)

např.
Break, On


DetectHiddenText, <on | off>

Některé programy používají skrytá okna a skrytý text v oknech (např. Backup Exec), to může způsobit potíže při pokusu o skriptování. Tento příkaz sdělí AutoIt, jestli má detekovat skrytý text, nebo ne. Implicitně je tato funkce vypnuta ("off").


Exit

Tento příkaz ukončí běh skriptu.


EnvAdd, <proměnná>, <hodnota>
EnvSub, <proměnná>, <hodnota>


Dovolí vám přičítat a odečítat hodnoty proměnných. Pokud není proměnná nebo hodnota číslo, bud brána jako nula (0).

např.
SetEnv, test, 20
EnvAdd, test, 20
MsgBox, 0, Příklad, %test%

Toto napíše na obrazovku "40".  


FileAppend, <text>, <název souboru>

Tento příkaz připojí "text" na konec souboru. Pokud soubor neexistuje, bud založen.

např.
FileAppend, Tohle je řádek 1\nTohle je řádek 2\n, mujsoubor.txt

Připojí dva řádky textu do "mujsoubor.txt"; berte na vědomí, že pro indikaci začátku nového řádku je třeba vložit znaky "\n".

Pokud proběhne příkaz úspěšně, %ERRORLEVEL% se nastaví na 0, jinak bude nastaven na 1.


FileReadLine, <proměnná>, <název souboru>, <řádek>

Tento příkaz načte řádek z textového souboru do proměnné. Řádek 1 je brán jako první řádek.

např.
FileReadLine, test, myfile.txt, 1

Načte první řádek souboru "myfile.txt" do proměnné %test%.

Pokud proběhne příkaz úspěšně, %ERRORLEVEL% se nastaví na 0, jinak bude nastaven na 1.


Gosub,<návěští>
Return

Stejné jako staré příkazy BASICu.. Gosub skočí na specifikované návěští. Return se vrátí na řádek za příkazem Gosub.

např.
SetEnv, Message, Toto je první zpráva!
Gosub, mysubroutine
SetEnv, Message, Toto je druhá zpráva!
Gosub, mysubroutine
SetEnv, Message, Toto je třetí zpráva!
Gosub, mysubroutine
Exit

mysubroutine:
MsgBox, 0, AutoIt, %Message%
Return


Goto, <návěští>

Spouštění skriptu bude pokračovat na následujícím návěští.

např.
; Tento skript se zacyklí navždy
loop:
Sleep, 10
Goto, loop


HideAutoItWin, <on | off>

Tento příkaz může být použit ke kompletnímu skrytí okna AutoIt před uživatelem. To je použitelné především pro "tiché" instalace.

např.
HideAutoItWin, On


IfWinExist, <název okna>, [<text okna>], <příkaz>
IfWinNotExist ,<název okna>, [<text okna>], <příkaz>
IfWinActive, <název okna>, [<text okna>], <příkaz>
IfWinNotActive, <název okna>, [<text okna>], <příkaz>

Pokud je podmínka splněna (tj. název okna a text existuje, je aktivní, neexistuje, je neaktivní), spustí se <příkaz>.
POZOR: Pokud není zadán žádný text okna, MUSÍTE vložit čárku navíc.
např.
IfWinExist, název okna, text okna, Goto, label1
IfWinExist, název okna,, Goto, label1


IfEqual,<proměnná>,<text>, <příkaz>
IfNotEqual,<proměnná>, <text>, <příkaz>

Porovná proměnnou DOSu <proměnná> s textem <text> a podle výsledku pokračuje.

např.
InputBox, MujVar, AutoIt, Prosím napiš slovo: NASHLEDANOU
IfEqual, MujVar, NASHLEDANOU, Goto, match
MsgBox, 0, AutoIt, Nenapsal jsi to správně!
Exit
match:
MsgBox, 0, AutoIt, Dobře! Napsal jsi správné slovo!


IfExist,<soubor nebo adresář>,<příkaz>
IfNotExist,<soubor nebo adresář>,<příkaz>

Způsobí, že skript spustí <příkaz> pokud daný soubor / adresář existuje / neexistuje.

např.
IfExist, C:\\COMMAND.COM, Goto, fileexist
Exit
fileexist:

; Skript se dostane na toto místo, pokud C:\COMMAND.COM EXISTUJE.
MsgBox, 0, AutoIt, Soubor existuje.


IfMsgBox, <vrácená hodnota>, <příkaz>

Použijte tento příkaz pro spuštění příkazu v závislosti na volbě, které tlačítko uživatel stisknul v příkazu MsgBox. Platné vrácené hodnoty z příkazu MsgBox jsou:
ABORT, CANCEL, IGNORE, NO, OK, RETRY, YES

např. Chcete zobrazit dialog s tlačítky OK a CANCEL a poté pokračovat, pokud uživatel zvolí CANCEL (CANCEL=zrušit - pozn. překl.):

; Ukázkový skript
MsgBox, 1, AutoIt, Tohle je zkušební zpráva
IfMsgBox, CANCEL, Goto, cancellabel
Exit
cancellabel:
; Pokud se skript dostane sem, uživatel stisknul "zrušit"
MsgBox, 0, AutoIt, Uživatel stisknul "zrušit"


IniRead, <proměnná>, <název souboru>, <část>, <klíč>
IniWrite, <hodnota>, <název souboru>, <část>, <klíč>

IniDelete, <název souboru>, <část>, <klíč>

Povolí čtení a zápis standardních windowsovských .ini souborů - souborů následujícího formátu:

[název sekce]
název klíče=hodnota

např. Načtení hodnoty "mujklic" z části "moje_cast" ini souboru do proměnné "%vysledek%":
IniRead, vysledek, c:\\mypath\\myfile.ini, moje_cast, mujklic

např. Napsání textu "ahoj" do stejné části a klíče:
IniWrite, ahoj, c:\\mypath\\myfile.ini, moje_cast, mujklic

např. Zapsání informace cesty (PATH) DOSu do stejné sekce a klíče:
IniWrite, %path%, c:\\mypath\\myfile.ini, moje_cast, mujklic

např. Vymazání informace cesty (PATH) DOSu ze stejné části a klíče:
IniDelete, c:\\mypath\\myfile.ini, moje_cast, mujklic

Upozornění: Musí být zadána kompletní cesta a název .ini souboru.


InputBox,<proměnná>, <název>, <zpráva> [,hide]

Zobrazí dialogový box s textem <zpráva>. Uživatel může zadat text a poté stisknout OK, a tím se zadaný text uloží do proměnné DOSu <proměnná>.  Pokud je přidán parametr "hide", vstup bude maskován (např. u zadávání hesel).

např.
InputBox, MyMessage, AutoIt, Napiš něco!
MsgBox, 0, AutoIt, %MyMessage%

např.
InputBox, password, AutoIt, Vlož své hoeslo (text je skrytý), hide


LeftClick, <x>, <y>
RightClick, <x>, <y>

Simuluje stisk levého nebo pravého tlačítka myši. Souřadnice X a Y jsou určovány vzhledem k aktivnímu oknu. Spousťte AutoIt reveal mód ke zjištění požadovaných souřadnic v okně.
K provedení dvojtého kliknutí (poklepání) jednoduše proveďte příkaz dvakrát za sebou :)


LeftClickDrag, <x1>, <y1>, <x2>, <y2>
RightClickDrag, <x1>, <y1>, <x2>, <y2>


Táhne ukazatel myši z místa x1,y1 na místo x2,y2 se stisknutým příslušným tlačítkem.  Souřadnice jsou určovány vzhledem k aktivnímu oknu.


MouseGetPos, <x proměnná>, <y proměnná>

Tento příkaz umístí kurzor myši na pozici 'x' a 'y' proměnných.  Souřadnice jsou určovány vzhledem k aktivnímu oknu.

např.
MouseGetPos, xpos, ypos
MsgBox, 0, Pokus,  Pozice myši je %xpos% %ypos%


MouseMove, <x pozice>, <y pozice>

Tento příkaz posune myš na pozici <x pozice>, <y pozice>. Souřadnice jsou určovány vzhledem k aktivnímu oknu.


MsgBox, <mód zobrazení>, <název>, <zpráva>

Zobrazí dialogový box s určitým textem. Různé zobraovací módy mají za příčinu různé vlastnosti (vzhled, počet tlačítek). Seznam módů je níže, sečtěte si čísla módů, které chcete použít.

např. Zobrazit "Ahoj" s pouze tlačítkem "OK":
MsgBox, 0, AutoIt, Ahoj

např. Zobrazit "Ahoj" s vykřičníkem a tlačítky OK a Zrušit:
MsgBox, 49, AutoIt, Ahoj
(1=OKCANCEL, 48=Vykřičník, = 49)

Function AutoIt Value
MB_OK 0
MB_OKCANCEL 1
MB_ABORTRETRYIGNORE 2
MB_YESNOCANCEL 3
MB_YESNO 4
MB_RETRYCANCEL 5
   
MB_ICONHAND 16
MB_ICONQUESTION  32
MB_ICONEXCLAMATION 48
MB_ICONASTERISK 64
   
MB_APPLMODAL 0
MB_SYSTEMMODAL 4096
MB_TASKMODAL 8192

 


RegRead, proměnná, typ hodnoty, klíč registru, podklíč registru, název hodnoty

Tento příkaz vám umožní číst hodnoty registru REG_SZ a REG_DWORD. Pokud proběhne příkaz úspěšně, %ERRORLEVEL% se nastaví na 0, jinak bude nastaven na 1.

Klíč registru musí být buď "HKEY_LOCAL_MACHINE", "HKEY_CURRENT_USER", "HKEY_USERS", "HKEY_CURRENT_CONFIG" nebo "HKEY_CLASSES_ROOT".
Typ hodnoty musí být "REG_DWORD" nebo "REG_SZ".

např. Načtení umístění "Program Files" adresáře do proměnné "TestKey":
RegRead, TestKey, REG_SZ, HKEY_LOCAL_MACHINE, Software\\Microsoft\\Windows\\CurrentVersion, ProgramFilesDir
MsgBox, 0, Ukázka, Program Files se nachází v %TestKey%


RegWrite, typ hodnoty, klíč registru, podklíč registru, název hodnoty, hodnota

Podobné příkazu RegRead, tento příkaz vám dovolí vytvoří či změnit klíč registru. Pokud proběhne příkaz úspěšně, %ERRORLEVEL% se nastaví na 0, jinak bude nastaven na 1.

např. Změna obrázku pozadí nynějšího uživatele:
RegWrite, REG_SZ, HKEY_CURRENT_USER, Control Panel\\Desktop, Wallpaper, C:\\Mujsexyobrazek.bmp


RegDelete, klíč registru, podklíč registru, název hodnoty

Tento příkaz vymaže hodnotu registru. Pokud proběhne příkaz úspěšně, %ERRORLEVEL% se nastaví na 0, jinak bude nastaven na 1.

např. Výmaz hodnoty obrázku pozadí nynějšího uživatele (ne příliš doporučeno :) ):
RegDelete, HKEY_CURRENT_USER, Control Panel\\Desktop, Wallpaper


Run, <název programu a cesta> [,<pracovní adresář> [,<max | min | hide>]]

Spustí daný program a pokračuje na další řádce skriptu. POZOR: Pogram ke spuštění a pracovní adresář jsou odděleny čárkou ','. Určení pracovního adresáře není povinné.

>>>>> POZOR: Protože '\' je speciální znak, musíte použít '\\' při specifikaci cest! <<<<<

např.
Run, notepad.exe, C:\\WINDOWS
Run, C:\\Program Files\\Microsoft Office\\Office\\WinWord.exe

První příkaz spustí poznámkový blok a nastaví pracovní adresář na "C:\WINDOWS".
Druhý příkaz spustí MS Word v aktuálním adresáři.

Můžete též spustit příkazy příkazového interpreteru Echo, Copy, atd.

např.
Run, COMMAND.COM /C Echo Hello > C:\\Hello.txt
NEBO
Run, %COMSPEC% /C Echo Hello > C:\\Hello.txt

Vytvoří soubor nazvaný C:\Hello.txt obsahující slovo "Hello".


RunWait, <název programu a cesta> [,<pracovní adresář> [,<max | min | hide>]]

Stejné jako příkaz Run, ale počká, než se program ukončí před pokračováním (doporučeno při spouštění příkazů DOSu jako copy, md, del, atd.).

Tento příkaz též nastaví proměnnou %ERRORLEVEL% podle zpětného kódu programu.


Repeat, <počet>
EndRepeat

Opakuje část skriptu do místa "EndRepeat", kolikrát je uvedeno v parametru <počet>.  Pokud je v <počet> nula, bude cyklus nekonečný. Příkazy opakování mohou být i vnořené.

např.
Repeat, 10
MsgBox, 0, Pokus, Toto se zobrazí 10krát!
EndRepeat


Send, <série stisků kláves>

Pošle sadu stisků kláves do zrovna aktivního okna. (Syntaxe těchto kláves najdete v následující části).

např.
Send, Toto je řádka textu#{ENTER}


SetEnv, <proměnná>, <hodnota>

Tento příkaz nastaví hodnotu určité proměnné.
POZOR: Tato proměnná exituje pouze v rámci AutoIt, není přístupná z DOSu.

např. Nastavení proměnné "CHYBA" na "Vyskytla se chyba":
SetEnv, CHYBA, Vyskytla se chyba.

K použití obsahu proměnné užijte symbol procenta:

např. Po spuštění předchozího příkazu tohle zobrazí "Vyskytla se chyba":
MsgBox, 1, AutoIt, %CHYBA%


SetKeyDelay, <milisekundy>

Změní prodlevu mezi stisky kláves v milisekundách. Maximální hodnota je 32767.
Implicitně je 20ms. 1000 milisekund = 1 sekunda.


SetTitleMatchMode, <mód>

Změní způsob snímání názvů oken.
Platné módy jsou "1" a "2" - implicitní je "1". Tato funkce ovlivňuje většinu příkazů AutoIt, které mají název okna, popř. jeho text v parametru, např. WinWait, WinWaitActive, IfWinActive, atd.

např.
; Script užívá mód 1 (implicitní)
SetTitleMatchMode, 1

; Script užívá mód 2
SetTitleMatchMode, 2

mode 1

Ve skriptu stačí specifikovat začátek názvu okna, aby se shodoval. Např. pro okno notepad.exe (Bez názvu - Poznámkový blok) jsou platné shody:
"Bez", "Bez názvu -", "Bez názvu - Poznámkový blok" a "Bez názvu - Poznám".

mode 2

Aby došlo ke shodě, stačí zadat KTEROUKOLIV část z názvu okna. Opět pro okno notepad.exe by platilo:
"Bez", "Bez názvu - Poznámkový blok", "blok", "Poz".


SetWinDelay, <milisekundy>

Tohle změní dobu, kdy AutoIt zastaví po provedení funkce vztahující se k oknu (čekání na okno, minimalizace, obnovení, atd.) než se bude pokračovat. To najde využití zvlášť na hodně pomalých počítačích, nebo pokud používáte věci jako animaci oken. Implicitní je 500 milisekund.

např.
SetWinDelay, 2000
Run, Notepad.exe
WinWaitActive, Bez názvu - Poznámkový blok
Send, Ahoj

V tomto příkladě by došlo od startu poznámkového bloku k 2 vteřinové pauze, než by se objevilo slovo "Ahoj".


Shutdown, <vlajka>

Tento příkaz vám umožní různé formy vypnutí systému. Typ je určen <vlajkou>. Vlajka může být kombinace z tabulky dole:

Funkce

Vlajka
Odhásit uživatele 0
Vypnout systém 1
Restartovat počítač 2
Donutit aplikace, aby se ukončily (může dojít ke ztrátě neuložených dat) 4
Vypnout počítač (pokud je to podporováno) 8

např. K vypnutí počítače a donucení všech aplikací, aby se ukončily, = 1 + 4 = 5:
Shutdown, 5


Sleep, <milisekundy>

Zastaví běh skriptu po dobu, zadanou v milisekundách. Maximum je 32767.
1000 milisekund = 1 sekunda.


SplashTextOn, <šířka>, <výška>, <název>, <zpráva>

Tento příkaz zobrazí okno s určitou zprávou a názvem. Okno stojí zcela navrchu. Použitelné pro automatizaci, když chcete například zobrazit zprávu "Nesahat!", aby uživatel neovlivňoval běh skriptu např. aktivací jiných oken.


SplashTextOff

Odstraní z obrazovky okno se zprávou.


WinGetActiveTitle, <proměnná>

Tento příkaz přečte název aktivního okna a uloží ho do proměnné DOSu <proměnná>

např.
Sleep, 2000
WinGetActiveTitle, myvar
MsgBox, 0, AutoIt, Aktuální okno bylo %myvar%


WinKill, <název okna> [,<text okna>]

Podobné příkazu WinClose, ale pokud se okno nezavře po uplynutí několika sekund (dotaz na uložení, zhroucení, atd.), bude k tomu donuceno.


WinWait, <název okna> [,<text okna> [,<časový limit>]]

Zastaví běh skriptu, dokud se neobjeví dané okno. Okno nemusí být aktivní.

Pokud je specifikován časový limit v sekundách - Po spuštění příkazu se nastaví proměnná %ERRORLEVEL% na 0, pokud byl příkaz proveden v pořádku, nebo na 1 došlo-li k uplynutí časového limitu.  Maximální délka časového limitu je 32767 sekund.

např.  Čekej stále na okno poznámkového bloku
WinWait, Bez názvu - Poznámkový blok

např.  Čekej 5 vteřin na okno poznámkového bloku
WinWait, Bez názvu - Poznámkový blok,, 5


WinWaitClose, <název okna> [,<text okna> [,<časový limit>]]

Zastaví skript, dokud se nezavře příslušné okno.

Pokud je specifikován časový limit v sekundách - Po spuštění příkazu se nastaví proměnná %ERRORLEVEL% na 0, pokud byl příkaz proveden v pořádku, nebo na 1 došlo-li k uplynutí časového limitu.  Maximální délka časového limitu je 32767 sekund.

např.
WinWaitClose, Bez názvu - Poznámkový blok


WinWaitActive, <název okna> [,<text okna> [,<časový limit>]]

Zastaví skript, dokud se neobjeví dané okno a nebude aktivní.

Pokud je specifikován časový limit v sekundách - Po spuštění příkazu se nastaví proměnná %ERRORLEVEL% na 0, pokud byl příkaz proveden v pořádku, nebo na 1 došlo-li k uplynutí časového limitu.  Maximální délka časového limitu je 32767 sekund.


WinWaitNotActive, <název okna> [,<text okna> [,<časový limit>]]

Zastaví běh skriptu, dokud příslušné okno nepřestane být aktivní.

Pokud je specifikován časový limit v sekundách - Po spuštění příkazu se nastaví proměnná %ERRORLEVEL% na 0, pokud byl příkaz proveden v pořádku, nebo na 1 došlo-li k uplynutí časového limitu.  Maximální délka časového limitu je 32767 sekund.


WinHide, <název okna> [,<text okna>]
WinShow, <název okna> [,<text okna>]
WinRestore, <název okna> [,<text okna>]
WinMinimize, <název okna> [,<text okna>]
WinMaximize, <název okna> [,<text okna>]
WinActivate, <název okna> [,<text okna>]
WinClose, <název okna> [,<text okna>]

Pokud dané okno existuje, bude vykonán příslušný příkaz (např. minimalizace, skrytí, aktivování atd.).


WinMove, <název okna>, [<text okna>], <X>, <Y>, <šířka>, <výška>

Pokud existuje okno s daným názvem a textem, bude přesunuto na <X>, <Y> a změněna jeho velikost na <šířka>, <výška>

např.

Run, notepad.exe
WinWaitActive, Bez názvu - Poznámkový blok
WinMove, Bez názvu - Poznámkový blok,, 0, 0, 100, 100

Tohle přesune okno poznámkového bloku na 0,0 a změní jeho velikost na 100,100

Nezapomeňte vložit čárku, pokud neupřesňujete text okna. Můžete též použít parametr "default", chcete-li zachovat aktuální rozměry okna. window

např.
WinMove, Bez názvu - Poznámkový blok,, 0, 0, default, default


WinSetTitle, <název okna>, [text okna], <nový název>

Použijte tento příkaz pro přejmenování okna

např.
Run, notepad.exe
WinWaitActive, Bez názvu - Poznámkový blok
WinSetTitle, Bez názvu - Poznámkový blok,, Přejmenovaný poznámkový blok!


WinMinimizeAll

Jednoduché, příkaz zminimalizuje všechna okna.


Zpět na Obsah

Syntaxe příkazu "Send"

Syntaxe příkazu "Send" je podobná příkazu "SendKeys" ve Visual Basicu. Znaky jsou vyslány stejně, jako jsou napsané až na následující výjimky:

'!'
Tento znak sdělí AutoIt, aby vyslal klávesu ALT, takže "Send,Tohle je text!a" by poslalo klávesy "Tohle je text" a poté stisklo "ALT+a". 

POZOR: Některé programy jsou velmi vybíravé, co se velkých a malých písmen a ALTu týče, např. "!A" je něco jiného než "!a". První výraz znamená ALT+SHIFT+A, druhý ALT+a. Pokud si nejste jistí, použijte malé písmeno!

'+'
Tento znak sdělí AutoIt, aby vyslal klávesu SHIFT, takže "Send,Aho+j" by vyslalo text "AhoJ". "Send, !+a" by vyslalo "ALT+SHIFT+a".

'^'
Tento znak sdělí AutoIt, aby vyslal klávesu CONTROL, takže "Send,^!a" potom vyšle "CTRL+ALT+a".

POZOR: Některé programy jsou velmi vybíravé, co se velkých a malých písmen a klávesy CTRL týče, např. "^A" je něco jiného než "^a". První výraz znamená CTRL+SHIFT+A, druhý CTRL+a. Pokud si nejste jistí, použijte malé písmeno!

'#'
Křížek je používán pro oddělování jednotlivých kláves, aby se řádky lépe četly.  např. "Send, H#e#l#l#o" je to samé jako "Send,Hello".


Některé speciální klávesy mohou být vyslány, ale měly by být dány do závorek:

POZOR:  Systém Windows nedovoluje simulovat stisk klávesové kombinace "CTRL-ALT-DEL"!

příkaz Send

výsledné stisky kláves

{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{SPACE} MEZERA
{ENTER} ENTER
{ALT} ALT
{BACKSPACE} or {BS} BACKSPACE
{DELETE} or {DEL} DELETE
{UP} Šipka nahoru
{DOWN} Šipka dolů
{LEFT} Šipka doleva
{RIGHT} Šipka doprava
{HOME} HOME
{END} END
{ESCAPE} or {ESC} ESCAPE
{INSERT} or {INS} INS
{PGUP} PGUP
{PGDN} PGDN
{F1} - {F12} Funkční klávesy
{TAB} TAB
{PRINTSCREEN} PRINTSCR
{LWIN} Levá klávesa Windows
{RWIN} Pravá klávesa Windows
{NUMLOCK} NUMLOCK
{CTRLBREAK} Ctrl+break
{PAUSE} PAUSE
{CAPSLOCK} CAPSLOCK
{NUMPAD0} - {NUMPAD 9} Čísla na numerickém bloku klávesnice
{NUMPADMULT} Hvězdička na numerickém bloku klávesnice
{NUMPADADD} Plus na numerickém bloku klávesnice
{NUMPADSUB} Mínus na numerickém bloku klávesnice
{NUMPADDIV} Lomítko na numerickém bloku klávesnice
{NUMPADDOT} Tečka na numerickém bloku klávesnice
{APPSKEY} Kontextová nabídka WIndows (obdoba Shift+F10)
{ALTDOWN} Drží ALT, dokud nepošlete {ALTUP}
{SHIFTDOWN} Drží SHIFT, dokud nepošlete {SHIFTUP}
{CTRLDOWN} Drží CTRL, dokud nepošlete {CTRLUP}
{ASC nnnn} Vyšle ALT+nnnn číselnou kombinaci


Vyslání ASCII hodnoty A (totožné se stisknutím ALT+65 na numerické klávesnici)
    Send, {ASC 65}

Jednotlivé stisky kláves se mohou též opakovat, např.
    Send, {DEL 4}    Stiskne 4krát kláves DEL
    Send, {S 30}       Vyšle 30krát písmeno 'S'
    Send, +{TAB 4}  Stiskne 4krát SHIFT+TAB

Zpět na Obsah

Část [ADLIB]

Sekce [ADLIB] je volitelná, pokud se ji rozhodnete použít, měla by být umístěna na konci skriptu. Část ADLIB by se měla vypořádat s nečekanými podmínkami, které mohou nastat. Skládá se z jednořádkových příkazů, které zjišťují, zda je okno aktivní, a pokud ano, tak do něj např. pošlou určité klávesy.
Sekce ADLIB musí začínat řádkem "[ADLIB]".

Formát toho jednoho řádku v ADLIBu je:

<název okna>,<text okna>,<příkaz>

např.
Run,Notepad.exe
WinWaitActive,Bez názvu - Poznámkový blok
Send,12345678#!{F4}
WinWaitClose,Bez názvu - Poznámkový blok

[ADLIB]
Poznámkový blok, Chcete změny uložit?, Send, !n

Bez použití ADLIBu by skript nikdy neukončil Poznámkový blok, aniž by někdo zareagoval na dotaz "Chcete uložit změny?".

Příkazy ADLIBu musí obsahovat název okna a nějaký text v něm. Pokud v okně není žádný text, nebo jej nechcete specifikovat, musíte použít dvě čárky.

např.
Run,Notepad.exe
WinWaitActive,Bez názvu - Poznámkový blok
Send,12345678#!{F4}
WinWaitClose,Bez názvu - Poznámkový blok

[ADLIB]
Poznámkový blok,, Send, !n


Zpět na Obsah

Příklady

Některé anglické příklady jsou přiloženy v tomto archivu, jiné naleznete na domovské stránce AutoIt .

Zpět na Obsah

Historie AutoIt

17/6/2000 - v2.42

11/02/2000 - v2.41

09/02/2000 - v2.4

20/12/99 - v2.32

12/12/99 - v2.31

10/12/99 - v2.3

25/11/99 - v2.23

23/11/99 - v2.22

20/11/99 - v2.21

18/11/99 - v2.2

16/09/99 - v2.11

11/09/99 - v2.1

28/08/99 - v2.03

26/08/99 - v2.02

18/08/99 - v2.01

16/08/99 - v2.0

POZOR. Některé změny způsobily, že staré AutoIt skripty je třeba jemně upravit. - Prosím přečtěte si znovu dokumentaci, pokud přecházíte na novou verzi! Omluvte skok z v1.8 na v2.0 - tyto věci potřebovaly jednoduše změnit kvůli přidání dalších požadovaných příkazů. Já osobně používám v1.8 pro staré skripty a v2.0 pro kterékoliv nové skripty, které vytvořím.

02/04/99 - v1.8

14/03/99 - v1.7

28/02/99 - v1.6

20/02/99 - v1.5

20/01/99 - v1.4

18/01/99 - v1.3

14/01/99 - v1.2

12/01/99 - v1.1

12/01/99 - v1.0

Zpět na Obsah

Soupis přání

Zde jsou některé aktuální nedokončené nápady, pokud máte jakékoliv další, prosím pošlete mi je.

Zpět na Obsah

Poděkování ...

Zpět na Obsah