AutoIt

Verze 2.42 - (C)1999, 2000 Jonathan Bennett

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

Domovská stránka AutoIt

Překlad: Tomáš Valůšek, 2000

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. Zamýšlené využití

3. Licenční ujednání

4. AutoIt a rok 2000

5. Použité konvence

6. Spuštění AutoIt

7. Aut2Exe - Převod skriptů do .exe souborů

8. Syntaxe skriptu

9. Titulek okna a Text okna

10. Proměnné prostředí DOS

11. Proměnná Clipboard

12. Zvláštní proměnné

13. Příkazy skriptu

14. Syntaxe příkazu Send

15. Sekce [ADLIB]

16. Příklady

17. Historie AutoIt

18. Žádaná rozšíření

19. Poděkování

Úvod

AutoIt je nástroj pro automatizaci úloh. Může být použit k automatizaci libovolné jednoduché úlohy, ať už jde o prostředí Windows či DOSovského okna. Byl primárně navržen k umožnění automatické instalace softwaru, jenž neposkytuje prostředky pro automatizaci své instalace. Je to užitečné při hromadné konfiguraci počítačů, kdy se má nakonfigurovat několik stovek až tisíc klientských strojů. Řada programů (např. MS Office, Mcafee, IE4 a další) obsahuje vlastní prostředky pro automatizovanou instalaci. Mnoho dalších programů však prostředky pro automatizovanou instalaci neposkytuje. A zde může nalézt AutoIt své uplatnění. Autoit lze také použít k automatizaci malých úloh na vašem počítači.

AutoIt po svém spuštění načítá zadaný soubor se skriptem. Tento skript dovoluje programu AutoIt provést řadu fukncí, mj.

To nejlepší nakonec: je malý (všeobsahující .exe soubor, žádné knohovny DLL, žádné záznamy v registru) a ZDARMA! (A tak to zůstane i do budoucna).

Novinkou od verze 2.1 výše je Aut2Exe . Tento program převede skript AutoIt do formy samostatné aplikace v .exe souboru!

Od versze 2.21 výše můžete odesílat desítkové ASCII kódy, jako byste je psali na numerické klávesnici při stisknuté klávese ALT (např. ALT+65 = 'A'). Velmi užitečné pro odesílání znaků, které nepracují správně (např. '~' na italské klávesnici).

Stále jsou vítány neanglické verze tohoto dokumentu! (V libovolném formátu, pokud chcete pomoci při údržbě). Zkontrolujte neanglické downloady na domovské stránce AutoIt pro zjištění, ve kterých jazycích už existuje překlad.en done.

Návrat k Obsahu

Zamýšlené využití

Tento program je zamýšlen k automatizaci jednoduchých úloh ve Windows. Není to v žádném případě skriptová "děvečka pro všechno". Pro komplexnější úlohy (manipulace s registry, zpracování textových souborů, složitější smyčky atd.) doporučuji použít AutoIt spolu s plnohodnotným skriptovacím prostředím (např. WSH nebo Kixtart - obojí zdarma) a AutoIt nasadit k "zacelení děr". Krédo AutoIt je: "Když to nejde udělat na jednom řádku , je to zřejmě moc složité." Tento přístup se doposud osvědčil a umožnil zachovat co nejmenší velikost programu (je to malinký .exe-soubor!).

Sám používám AutoIt k hromadné konfiguraci PC. Používám Kixtart/WSH jako základ ke kopírování a spouštění souborů, editování registrů a k zavolání AutoIt když potřebuji provést konfiguraci obvykle vyžadující ruční zadání (instalace softwaru, konfiguraci ovládacího panelu, změnu cílového disku atd.)

Návrat k Obsahu

Licenční ujednání

Viz soubor License.txt obsažený v tomto archivu.

Návrat k Obsahu

AutoIt a rok 2000

AutoIt je, dle autorova nejlepšího vědomí, plně slučitelný s rokem 2000. Odkazuji nicméně na licenci.

Návrat k Obsahu

Použité konvence

Parametfy jsou uváděny v lomených závorkách, nepovinné parametry pak v závorkách hranatých.

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

Toto je příkaz, následovaný čárkou a parametrem1, volitelně následovaný čárkou a parametrem2.

tedy
<příkaz>, <parametr1>

NEBO

<příkaz>, <parametr1>, <parametr2>

Návrat k Obsahu


Spuštění AutoIt

Autoit lze spustit z příkazové řádky nebo poklepání na jeho ikonu v Průzkumníku Windows.

>>> Poznámka: Jediný soubor NUTNÝ ke spuštění AutoIt je "AutoIt2.exe". Zkopírováním tohoto souboru do adresáře obsaženého v proměnné prostředí PATH na libovolném PC vám dovolí spouštět skripty AutoIt na daném PC použitím syntaxe příkazového řádku uvedené níže. <<<

Syntaxe příkazové řádky

AutoIt se spouští z příkazové řádky dvěma způsoby (ujistěte se, že soubor AutoIt2.exe je v adresáři uvedeném v proměnné PATH, případně že spouštíte příkazy z adresáře, v němž je instalován AutoIt):

AutoIt2.exe /reveal

NEBO

AutoIt2.exe <název souboru se ksriptem>


Informační režim (Reveal Mode)

V informačním režimu bude okno AutoIt vždy nahoře. Kliknete-li do jiného okna, které se tak stane aktivním, AutoIt zobrazí jejich název (obsah titulkové lišty), souřadnice myšího ukazatele vztažené k danému oknu a další text obsažený v okně, který umožní dané okno odlišit od jiných oken se stejným názvem. Podobně jako v MS ScriptIt, nemusí být zobrazen všechen text obsažený v okně - vyzkoušejte!

Informace v okně AutoIt lze zvýraznit myší a zkopírovat do schránky povelem "CTRL-C" a následně vložit do jiného programu či textového editoru.

Režim provádění skriptu

AutoIt bude provádět skript ze souboru, jehož jméno bylo uvedeno na příkazovém řádku. Soubor může mít libovolnou příponu (pokud použijete instalační program, bude do systému zaregistrována přípona .aut . Kliknutí pravým tlačítkem na soubor .aut vám umožní spustit nebo upravit skript).

Použití parametrů příkazové řádky

Parametry lze skriptu AutoIt z příkazové řádky předat prostřednictvím následující syntaxe:

AutoIt2.exe <název souboru se ksriptem> /p param1 param2 param3........paramN

Tyto parametry jsou ve skriptu viditelné jako proměnné prostředí %1%, %2%, %3%, atd.

Má-li parametr obsahovat mezery, uzavřete jej do dvojitých uvozovek, např..:

AutoIt2.exe testscript.aut /p "D:\Dlouhá cesta" var2

%1% bude obsahovat D:\Dlouhá cesta

a %2% bude obsahovat var2

Návrat k Obsahu

Aut2Exe - Převod skriptů do .exe souborů

Aut2Exe lze instalovat spolu s AutoIt (jen plná instalace). Tento program vezme skript AutoIt a vyrobí z něj samostatně spustitelný soubor. Tento soubor lze pak spustit bez nainstalovaného AutoIt a původního skriptu. Pro vytvářený spustitelný soubor lze přiřadit ikonu, jež musí mít rozměr 32x32 bodů při 16 barvách (délka souboru by měla být 766 bajtů).

Skript je možno najít ke konci výsledného spustitelného souboru, je ale zašifrován, aby byl chráněn před zvědavci! ( Poznámka: Šifrováni není příliš silné, ale většině "rádoby-hackerů" znemožní prohlížení vašeho skriptu. Já je nerozšifruji, ale nejsem expert... :) ).

Budoucí verze mohou umožnit rozšifrování skriptu za pomoci hesla, zatím doporučuji archivovat zdrojové texty skriptů.

Poznámka: Stále je možné předávat skriptu parametry přes příkazový řádek spuštěním "můjskript.exe /p param1 param2.....".

Návrat k Obsahu

Syntaxe skriptu

Skript je standardní textový soubor s libovolnou příponou (preferovaná přípona je .aut ). Katdý řádek může obsahovat příkaz, komentář, návěští nebo může zůstat prázdný.

Poznámka: Řádek smí obsahovat nejvýše 1024 znaků. Přebytečné znaky budou ignorovány.

; Začátek skriptu
; Komentáře začínají středníkem

<Příkaz>, <Parametry Příkazu>
<Příkaz2>, <Parametry Příkazu2>
<Příkaz3>, <Parametry Příkazu3>

; Toto je návěstí, musí končit dvojtečkou (:) a používá se pro příkazy jako Gosub a Goto.
navesti:

; Konec skriptu
Exit

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

Návrat k Obsahu

Zvláštní znaky

Zpětné lomítko '\' , čárka ',' a procento '%' jsou považovány za zvláštní znaky. Při jejich použití musíte být opatrní.

Čárka ',' se používá jako oddělovač parametrů ve skriptu.
Procento '%' se používá k vyznačení proměnných prostředí.

Potřebujete-li použít uvedené znaky jiným způsobem, musíte jim předřadit zpěžné lomítko '\', tedy "\," nebo "\%". Potřebujete-li použít zpětné lomítko, musíte je zdvojit, tedy "\\".

Sekvence znaků "\n" a "\t" lze použít ke vložení znaku nového řádku a tabulátoru v příkazech MsgBox a InputBox.

Návrat k obsahu

Titulek okna a Text okna

Řada příkazů přijímá jako své parametry "Titulek okna" a "Text okna" .
"Titulek okna" je text obsažený v titulkové liště okna.
"Text okna" je jakýkoli další text v daném okně, např. text na tlačítkách jako "OK" a "Storno".

"Text okna" vám umožňuje rozlišit více oken se shodnou titulkovou lištou.

Není třeba uvádět celý titulek či text okna.
Např. "Bez názvu - Po" bude odpovídat oknu s titulkem "Bez názvu - Poznámkový blok" .
Další informace najdete v popisu příkazu SetTitleMatchMode.

Ke zjištění textu okna využijte "/reveal" režim.

Poznámka: Titulky a texty okna jsou CITLIVÉ NA VELIKOST PÍSMEN!!!!!

Návratk k Obsahu

Proměnné prostředí DOS

V AutoIt skriptu můžete kdykoli použít proměnné prostředí DOS (dále jen "proměnné prostředí"). Jejich použití je stejné jako v dávkových souborech systému DOS (.BAT souborech) - napište jméno proměnné mezi dva znaky procenta (%).

Chcete-li např. odeslat obsah proměnné PATH do okna poznámkového bloku, můžete napsat:

Run, notepad.exe
WinWaitActive, Bez názvu - Poznámkový blok
Send, Toto je obsah proměnné PATH: %PATH%


Příklad: Tato ukázka nastaví proměnnou test a pak ji zobrazí v dialogovém okně.
SetEnv, test, Toto je nějaký text
MsgBox, 0, Příklad, %test%


Poznámka: Chcete-li použít znak procenta jako takový, musíte zrušit jeho význam zvláštního znaku předřazením zpětného lomítka.
Např..
Send, Takto lze odeslat jeden znak procenta \%

Také lze použít příkaz " SetEnv " k nastavení proměnných, avšak tyto změny nebudou patrné z DOSu - hodnota bude platná jen v rámci aktuálního skriptu.

Poznámka: Mnoho příkazů výslovně uvádějí, že očekávají proměnnou jako parametr, v takových případech se symbol % NEPOUŽÍVÁ. Řada ukázek dodávaných s AutoIt toto demonstruje.


Návrat k Obsahu

Proměnná Clipboard

Proměnná %CLIPBOARD% je zvláštní a při použití bude reprezentovat textový obsah schránky Windows. Zkopírujete-li např. do schránky text "Ahoj!" a spustíte následující skript:

MsgBox, 0, Příklad, Obsah schránky je: %clipboard%

Zobrazí se text "Obsah schránky je: Ahoj!" .

Podobně, chcete-li do schránky vložit text, můžete použít příkaz SetEnv. Příklad: Vložit do schránky text "Jsem vložený text" lze takto:

SetEnv, clipboard, Jsem vložený text


Návrat k Obsahu

Zvláštní proměnné

AutoIt poskytuje řadu zvláštních proměnných. Jejich přehled následuje:

Proměnná AutoIt Obsahuje
A_OSTYPE Typ běžícího opeřačního systému. Buď "WIN32_WINDOWS" or "WIN32_NT".
A_SCRIPTNAME Název souboru s právě běžícím skriptem, např. "můjskript.aut".
A_SCRIPTDIR Složka, v níž je uložen právě běžící skript.
A_SCRIPTFULLPATH Úplné jméno souboru se skriptem včetně cesty, např. "C:\Windows\Scripts\myscript.aut".
A_WORKINGDIR Aktuální pracovní složka.
   
A_SEC Počet sekund (00-59)
A_MIN Počet minut (00-59)
A_HOUR Počet hodin (00-23)
A_MDAY Den v měsíci (01-31)
A_MON Měsíc v roce (01-12)
A_YEAR Aktuální rok (4 číslice, např. 2000)
A_WDAY Den v týdnu (1-7)
A_YDAY Den v roce (1-366)

Návrat k Obsahu

Příkazy skriptu

V současnosti jsou rozpoznány následující příkazy (na velikosti písmen nezáleží):

AdlibOn
AdlibOff

BlockInput, <on | off>
Break, <on | off>
DetectHiddenText, <on | off>
Exit
EndRepeat
Gosub, <návěští>
EnvAdd, <Promšnná>, <Hodnota>
EnvSub, <Proměnná>, <Hodnota>

FileAppend, <Text>, <Jméno souboru>
FileReadLine, <Proměnná>, <Jméno souboru>, <Řádek>
Goto, <návěští>
HideAutoItWin, <on | off>
IfWinExist, <Titulek okna>, [<Text okna>], <Příkaz>
IfWinNotExist, <Titulek okna>, [<Text okna>], <Příkaz>
IfWinActive, <Titulek okna>, [<Text okna>], <Příkaz>
IfWinNotActive, <Titulek okna>, [<Text okna>], <Příkaz>

IfEqual, <Proměnná>, <Text>, <Příkaz>
IfNotEqual, <Proměnná>, <Text>, <Příkaz>

IfExist, <soubor nebo složka>, <Příkaz>
IfNotExist, <soubor nebo složka>, <Příkaz>

IfMsgBox, <návratová hodnota>, <Příkaz>
IniRead, <Proměnná>, <Jméno souboru>, <Sekce>, <Klíč>
IniWrite, <Hodnota>, <Jméno souboru>, <Sekce>, <Klíč>
IniDelete, <Jméno souboru>, <Sekce>, <Klíč>
InputBox, <Proměnná>, <titulek>, <zpráva>
LeftClick, <x>, <y>
LeftClickDrag, <x1>, <y1>, <x2>, <y2>
MouseGetPos, <x Proměnná>, <y Proměnná>
MouseMove, <x pos>, <y pos>
MsgBox, <režim zobrazení>, <titulek>, <zpráva>
RegRead, <Proměnná>, <Typ hodnoty>, <Klíč registru>, <Podklíč registru>, <Jméno hodnotu>
RegWrite, <Typ hodnoty>, <Klíč registru>, <Podklíč registru>, <Jméno hodnoty>, <Hodnota>
RegDelete, <Klíč registru>, <Podklíč registru>, <Jméno hodnoty>
Repeat, <Počet>
Return
RightClick, <x>, <y>
RightClickDrag, <x1>, <y1>, <x2>, <y2>
Run, <Cesta a jméno souboru> [,<Pracovní složka>]
RunWait, <Cesta a jméno souboru> [,<Pracovní složka>]
Send, <Sekvence stisků kláves>
SetEnv, <proměnná>, <hodnota>
SetKeyDelay, <milisekundy>
SetTitleMatchMode, <režim>
SetWinDelay, <milisekundy>
Shutdown, <Příznak>
Sleep, <milisekundy>
SplashTextOn, <Šířka>, <Výška>, <Titulek>, <Zpráva>
SplashTextOff
WinGetActiveTitle, <Proměnná>
WinKill, <Titulek okna> [,<Text okna>]
WinWait, <Titulek okna> [,<Text okna>]
WinWaitClose, <Titulek okna> [,<Text okna>]
WinWaitActive, <Titulek okna> [,<Text okna>]
WinWaitNotActive, <Titulek okna> [,<Text okna>]
WinHide, <Titulek okna> [,<Text okna>]
WinRestore, <Titulek okna> [,<Text okna>]
WinShow, <Titulek okna> [,<Text okna>]

WinMinimize, <Titulek okna> [,<Text okna>]
WinMaximize, <Titulek okna> [,<Text okna>]
WinActivate, <Titulek okna> [,<Text okna>]
WinClose, <Titulek okna> [,<Text okna>]

WinMinimizeAll
WinMove, <Titulek okna>, [<Text okna>], <X>, <Y>, <Šířka>, <Výška>
WinSetTitle, <Titulek okna>, [<Text okna>], <Nevý titulek>

Syntaxe těchto příkazů následuje:

Návrat k obsahu

AdlibOn
AdlibOff


Povolí/zakáže zpracování sekce [ADLIB].


BlockInput , <on | off>

Příkaz zablokuje vstup z klávesnice a myši. Efekt příkazu závisí na konfiguraci operačního systému, viz následující tabulka:

Operační systém Účinek příkazu "BlockInput"
   
Windows 95 Žádný účinek.
Windows 98 Uživatelský vstup zablokován, AutoIt nemůže simulovat vstup.
Windows NT 4 (ServicePack 6 nenainstalován ) Žádný účinek.
Windows NT 4 (ServicePack 6 nainstalován ) Uživatelský vstup zablokován, AutoIt může simolovat vstup.
Windows 2000 Uživatelský vstup zablokován, AutoIt může simolovat vstup.

Vstup bude automaticky povolen po ukončení skriptu.

Break , <on | off>

Tento příkaz nastavuje, zda může uživatel zavřít AutoIt během vykonávání skriptu. Výchozí nastavení je "on" (uživatel smí zavřít AutoIt).

Např.
Break, On


DetectHiddenText , <on | off>

Některé programy užívají skrytá okna a skrytý text v oknech (např. Backup Exec), což může působit problémy při jejich skriptování. Tento příkaz vám dovoluje sdělit programu AutoIt zda má či nemá detekovat tento skrytý text. Výchozí nastavení je "off" - vypnuto.


Exit

Tento příkaz ukončí skript.


EnvAdd , <Proměnná>, <Hodnota>
EnvSub, <Proměnná>, <Hodnota>


Umožňuje přičítání a odečítání od proměnných prostředí. Není-li proměnná nebo hodnota číslo, bude považována za nulu (0).

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

Vypíše na obrazovku hodnotu "40".  


FileAppend , <Text>, <Jméno souboru>

Příkaz připojí "Text" na konec souboru. Pokud soubor neexistuje, bude vytvořen.

Např.
FileAppend, Toto je řádek 1\nToto je řádek 2\n, soubor.txt

Připojí dva řádky textu do souboru "soubor.txt". Všimněte si využití sekvence "\n" ke vložení konce řádku.

Pokud příkaz upsěje, nastaví se %ERRORLEVEL na 0 , jinak bude mít hodnotu 1 .


FileReadLine , <Proměnná>, <Jméno souboru>, <Řádek>

Povel přečte řádek z textového souboru do proměnné. První řádek má číslo 1.

Např.
FileReadLine, test, soubor.txt, 1

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

Pokud příkaz upsěje, nastaví se %ERRORLEVEL na 0 , jinak bude mít hodnotu 1 .


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

Stejné jako ve starém BASICu. Gosub odskočí na zadané návěští. Return vrátí řízení na řádek následující po příkazu Gosub.

Např.
SetEnv, MojeZprava, Toto je první zpráva!
Gosub, podprogram
SetEnv, MojeZprava, Toto je druhá zpráva!
Gosub, podprogram
SetEnv, MojeZprava, Tote je třetí zpráva!
Gosub, podprogram
Exit

podprogram:
MsgBox, 0, AutoIt, %MojeZprava%
Return


Goto , <návěští>

Provádění skriptu bude pokračovat od udaného návěští.

Např.
; Tento skript se zacyklí
smycka:
Sleep, 10
Goto, smycka


HideAutoItWin , <on | off>

Tento příkaz lze použít k úplnému skrytí okna AutoIt před uživatelem. Užitečné pro "tiché" instalace.

Např.
HideAutoItWin, On


IfWinExist , <Titulek okna>, [<Text okna>], <Příkaz>
IfWinNotExist ,<Titulek okna>, [<Text okna>], <Příkaz>
IfWinActive, <Titulek okna>, [<Text okna>], <Příkaz>
IfWinNotActive, <Titulek okna>, [<Text okna>], <Příkaz>

Je-li podmínka splněna (okno s daným titulkem a textem existuje, neexistuje, je aktivní, není aktivní), provede se <Příkaz>.
Poznámka: Vynecháte-li Text okne, MUSÍ být mezi Titulkem okna a Příkazem dvě čárky.
Např.
IfWinExist, Titulek, Text, Goto, navesti1
IfWinExist, Titulek,, Goto, navesti1


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

Porovná proměnnou prostředí <proměnná > s <textem> a zachová se podle výsledku.

Např.
InputBox, Promenna, AutoIt, Vložte prosím slovo: WOMBLE
IfEqual, MyVar, WOMBLE, Goto, shoda
MsgBox, 0, AutoIt, Nenapsal jste zprávné slovo!
Exit
shoda:
MsgBox, 0, AutoIt, Výborně! Napsal jste zprávné slovo!

Výnam příkazů:
IfEqual - testuje rovnost
IfNotEqual - testuje nerovnost


IfExist ,<soubor nebo složka>,<Příkaz>
IfNotExist,<soubor nebo složka>,<Příkaz>

<Příkaz> se provede, pokud zadaný soubor či složka existuje/neexistuje.

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

; Skript sem dospěje, pokud EXISTUJE soubor C:\COMMAND.COM.
MsgBox, 0, AutoIt, Soubor existuje


IfMsgBox , <návratová hodnota>, <Příkaz>

Použijte tento test k provedení příkazu na základě tlačítka, které uživatel stiskl v dialogovém okně vyvolaném příkazem MsgBox. Platné návratové hodnoty příkazu MsgBox jsou:
ABORT (Přerušit), CANCEL (Storno), IGNORE (Ignorovat), NO (Ne), OK, RETRY (Znovu), YES (Ano)

Např. Zobrazení dialogového okna s tlačítky OK a Storno a větvení skriptu pokud uživatel zvolí Storno:

; Ukázkový skript
MsgBox, 1, AutoIt, Toto je pokusná zpráva
IfMsgBox, CANCEL, Goto, navestistorno
Exit
navestistorno:
; Pokud skript dospěl sem, uživatel stiskl Storno
MsgBox, 0, AutoIt, Uživatel stisknul Storno


IniRead, <Proměnná>, <Jméno souboru>, <Sekce>, <Klíč>
IniWrite, <Hodnota>, <Jméno souboru>, <Sekce>, <Klíč>

IniDelete, <Jméno souboru>, <Sekce>, <Klíč>

Umožňuje čtení a zápis standardních .ini souborů systému Windows, tedy v následujícím formátu.

[Sekce]
Nazev=Hodnota

Např. Čtení hodnoty "mujklic" z části "mojesekce" ini souboru do proměnné "%vysledek%":
IniRead, vysledek, c:\\cesta\\soubor.ini, mojesekce, muklic

Např. Zápis textu "womble" do stejné sekce a klíče:
IniWrite, womble, c:\\cesta\\soubor.ini, mojesekce, mujklic

Např. Zápis DOSové proměnné PATH do téže sekce a klíče:
IniWrite, %path%, c:\\cesta\\soubor.ini, mojesekce, mujklic

Např. Odstranění obsahu proměnné PATH ve stejné sekci a klíči:
IniDelete, c:\\cesta\\soubor.ini, mojesekce, mujklic

Poznámka: Je nutno zadat úplnou cestu k .ini souboru.


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

Zobrazí dialogové okno se <zprávou>. uživatel může vložit text, stisknout OK a text se uloží do proměnné prostředí <proměnná>. Je-li přítomen parametr "hide", vstup bude nahrazen hvězdičkami (např. heslo).

Např.
InputBox, MojeZprava, AutoIt, Vložte prosím nějaký text k zobrazení!
MsgBox, 0, AutoIt, %MojeZprava%

Např.
InputBox, heslo, AutoIt, Vložte prosím vaše heslo (vstup bude skryt), hide


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

Simuluje klepnutí levého nebo pravého tlačítka myši. Souřadnice X a Y jsou vztaženy k aktivnímu oknu. Požadované souřadnice zjistíte, spustíte-li AutoIt v informačním režimu.
Poklepání vykonáte odesláním příkazu dvakrát po sobě :)


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


Táhne ukazatel myši z x1,y1 do x2,y2 se stisknutým odpovídajícím tlačítkem (left=levé, right=pravé). Souřadnice jsou vztaženy k aktivnímu oknu.


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

Tento příkaz dodá aktuální pozici ukazatele myši do proměnných 'x' a 'y'. Souřadnice jsou vztaženy k aktivnímu oknu.

Např.
MouseGetPos, xpos, ypos
MsgBox, 0, Příklad, Myš je na pozici %xpos% %ypos%


MouseMove, <x pos>, <y pos>

Tento příkaz přesune ukazatel myši na pozici <xpos>, <ypos>. Souřadnice jsou vztaženy k aktivnímu oknu.


MsgBox , <režim zobrazení>, <titulek>, <zpráva>

Zobrazí dialogové okno se zadanou zprávou. Různé režimy zobrazení dají různé výsledky (vzhled, počet tlačítek). Seznam režimů je uveden níže, sečtěte čísla režimů, které chcete.

Např.: K zobrazení "Ahoj" jen stlačítkem "OK":
MsgBox, 0, AutoIt, Ahoj

Např.: K zobrazení "Ahoj" s vykřičníkem a tlačítky OK a Storno:
MsgBox, 49, AutoIt, Ahoj
(1=OK/Storno, 48=Vykřičník, = 49)

Funkce AutoIt hodnota
OK 0
OK/Storno 1
Přerušit/Znovu/Ignorovat 2
Ano/Ne/Storno 3
Ano/ne 4
Znovu/Storno 5
   
Ruka 16
Otazník 32
Vykřičník 48
Hvězdička 64
   
Aplikačně modální 0
Systémově modální 4096
Úlohově modální 8192



RegRead , <Proměnná>, <Typ hodnoty>, <Klíč registru>, <Podklíč registru>, <Jméno hodnotu>

Tento příkaz umožňuje čtení hodnot typu REG_SZ a REG_DWORD z registru. Je-li operace úspěšná, %ERRORLEVEL% je nastaven na 0 , jinak je 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í složky "Program Files" do proměnné "PokusnyKlic":
RegRead, PokusnyKlic, REG_SZ, HKEY_LOCAL_MACHINE, Software\\Microsoft\\Windows\\CurrentVersion, ProgramFilesDir
MsgBox, 0, Příklad, Složka Program Files se nachází na %TestKey%


RegWrite , <Typ hodnoty>, <Klíč registru>, <Podklíč registru>, <Jméno hodnoty>, <Hodnota>

Podobně jako příkaz RegRead, tento příkaz umožňuje vytvořit nebo změnit klíč registru. Je-li operace úspěšná, %ERRORLEVEL% je nastaven na 0 , jinak je nastaven na 1 .

Např. Změna tapety aktuálního uživatele:
RegWrite, REG_SZ, HKEY_CURRENT_USER, Control Panel\\Desktop, Wallpaper, C:\\Silenyobrazek.bmp


RegDelete , Klíč registru, Podklíč registru, Jméno hodnoty

Příkaz vymaže hodnotu z registru. Je-li operace úspěšná, %ERRORLEVEL% je nastaven na 0 , jinak je nastaven na 1 .

Např. Odstranění hodnoty tapety konkrétního uživatel (moc nedoporučují :) ):
RegDelete, HKEY_CURRENT_USER, Control Panel\\Desktop, Wallpaper


Run, <Cesta a jméno souboru> [,<Pracovní složka> [,<max | min | hide>]]

Spustí zadaný program a ihned pokračuje dalším řádkem skriptu. Poznámka: Spouštěný program a pracovní složka jsou odděleny čárkou ',' . Zadání pracovní složky není povinné.

>>>>> Poznámka: Protože má znak '\' zvláštní význam, musíte jako oddělovač složek v cestě tento znak zdvojit, tedy '\\'! <<<<<

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í složku na "C:\WINDOWS".
Druhý příkaz spustí MS Word v aktuální složce.

Je rovněž možné spustit povely příkazového procesoru jako Echo, Copy, atd.

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

Vytvoří soubor s názvem C:\Hello.txt obsahující slovo "Ahoj".


RunWait, <Cesta a jméno souboru> [,<Pracovní složka> [,<max | min | hide>]]

Stejné jako příkaz Run ale umožní pokračování skriptu až po dokončení programu (doporučuje se pro spouštění DOSových příkazů copy, md, del apod.).

Proměnná %ERRORLEVEL% po ukončení příkazu obsahuje návratovou hodnotu vrácenou spuštěným programem.


Repeat , <Počet>
EndRepeat

Zopakuje úsek skriptu po odpovídající příkaz "EndRepeat" <Počet>-krát. Je-li <Počet> roven nule, bude počet opakování nekonečný. Příkazy Repeat mohou být vnořené.

Např.
Repeat, 10
MsgBox, 0, Příklad, Tohle se zobrazí desetkrát!
EndRepeat


Send , <Sekvence stisků kláves>

Odešle do aktivního okna sekvenci stisků kláves. (Syntaxi stisků kláves naleznete v následující sekci.)

Např.
Send, Toto je řádek textu#{ENTER}


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

Tento příkaz nastaví proměnnou prostředí na zadanou hodnotu.
Poznámka: Pokud se vytváří nová proměnná, bude existovat jen pro skript, v němž byla vytvořena, nebude možno k ní přistupovat z DOSu. Rovněž změna hodnoty se mimo skript neprojeví.

Např. Nastavení proměnné prostředí "ERROR" na "Vyskytla se chyba":
SetEnv, ERROR, Vyskytla se chyba.

Použít hodnotu této proměnné lze přes symbol procenta:

Např. Po provedení předchozího příkazu, tento vypíše "Vyskytla se chyba":
MsgBox, 1, AutoIt, %ERROR%


SetKeyDelay , <milisekundy>

Nastaví zpoždění mezi stisky kláves v milisekundách. Maximum je 32767.
Výchozí hodnota je 20ms. 1000 milisekund = 1 sekunda.


SetTitleMatchMode , <režim>

Změní způsob, jakým se porovnává titulek okna se zadáním ve skriptu.
Platné režimy jsou "1" a "2" - výchozí je "1". Tento režim má vliv na většinu příkazů v AutoIt jež přijímají titulek okna nebo text okna jako parametry, např. WinWait, WinWaitActive, IfWinActive, atd.

Např.
; Skript užívající režim 1 (výchozí)
SetTitleMatchMode, 1

; Skript užívající režim 2
SetTitleMatchMode, 2

režim 1

Ve skriptu udáváte začátek porovnávaného titulku okna, např. pro okno programu notepad.exe (Bez názvu - Poznámkový blok) budou úspěšná tato porovnání:
"Bez názvu", "Bez názvu -", "Bez" and "Bez názvu - Poznámkový blok".

režim 2

Ve skriptu udáváte LIBOVOLNÝ podřetězec titulku okna, který chcete porovnat. Pro okno programu notepad.exe budou úspěšná porovnání tato:
"Bez názvu", "Bez názvu - Poznámkový blok", "Poznámkový blok", "Po".


SetWinDelay , <Milisekundy>

Mění čas čekání, který AutoIt vloží po vyvolání funkce vztahující se k oknům (čekání na okno, minimalizace, obnovení atd.) před obnovením běhu skriptu. Užitečné na velmi pomalých strojích nebo jsou-li povoleny funkce jako animace oken. Výchozí hodnota je 500 milisekund.

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

V tomto příkladu bude prodleva 2000 milisekund (2 sekundy) po startu Poznámkového bloku, než se objeví slovo "Ahoj".


Shutdown, <Příznak>

Tento příkaz vám dovoluje různým způsobem ukončit práci se systémem. Typ ukončení určuje <Příznak>, který může být kombinací hodnot z níže uvedené tabulky:

Funkce

Příznak
Odhlášení aktuálního uživatele 0
Ukončení systému 1
Restart počítače 2
Vynutit uzavření aplikací (může vést ke ztrátě neuložené práce) 4
Ukončení systému a vypnutí počítače (je-li podporováno) 8

Např. Ukončení systému a vynucení uzavření aplikací bez uložení = Ukončení + Vynutit = 1 + 4 = 5 :
Shutdown, 5


Sleep , <milisekundy>

Pozastaví provádění skriptu na daný počet milisekund. Maximum je 32767.
1000 milisekund = 1 sekunda.


SplashTextOn , <Šířka>, <Výška>, <Titulek>, <Zpráva>

Tento příkaz zobrazí okno se zadaným titulkem a zprávou. Okno je vždy nahoře bez toho, že by překáželo oknům pod sebou. Užitečné při automatizaci, kdy můžete zobrazit uživateli zprávu "Nesahat" bez ovlivnění dalších oken.


SplashTextOff

Odstraňuje výstražné hlášení z obrazovky.


WinGetActiveTitle , <Proměnná>

Tento příkaz získá titulek aktivního okna a uloží jej do proměnné prostředí <Proměnná>

Např.
Sleep, 2000
WinGetActiveTitle, promenna
MsgBox, 0, AutoIt, Aktivní okno bylo %myvar%


WinKill, <Titulek okna> [,<Text okna>]

Podobné příkazu WinClose, ale nezavře-li se okne do několika sekund (Dotaz na uložení, zhroucení atd.), bude násilně odstraněno.


WinWait , <Titulek okna> [,<Text okna> [,<Prodleva>]]

Zastaví provádění skriptu do chvíle, než se objeví zadané okno. Okno nemusí být aktivní.

Lze rovněž specifikovat "Prodlevu" v sekundách. Po provedení příkazu získá proměnná %ERRORLEVEL% hodnotu 0 v případě normálního ukončení příkazu nebo 1 pokud uplynulá zadaná prodleva. Maximální hodnota prodlevy je 32767 sekund.

např. Počkat na okno poznámkového bloku bez časového omezení:
WinWait, Bez názvu - Poznámkový blok

Např. Počkat pět sekund na okno poznámkového bloku:
WinWait, Bez názvu - Poznámkový blok,, 5

WinWaitClose , <Titulek okna> [,<Text okna> [,<Prodleva>]]

Zastaví provádění skriptu do chvíle, než přestane udané okno existovat.

Lze rovněž specifikovat "Prodlevu" v sekundách. Po provedení příkazu získá proměnná %ERRORLEVEL% hodnotu 0 v případě normálního ukončení příkazu nebo 1 pokud uplynulá zadaná prodleva.

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


WinWaitActive , <Titulek okna> [,<Text okna> [,<Prodleva>] ]

Zastaví provádění skriptu do cvhíle, než se zadané okno stane aktivním.

Lze rovněž specifikovat "Prodlevu" v sekundách. Po provedení příkazu získá proměnná %ERRORLEVEL% hodnotu 0 v případě normálního ukončení příkazu nebo 1 pokud uplynula zadaná prodleva.


WinWaitNotActive , <Titulek okna> [,<Text okna> [,<Prodleva>] ]

Zastaví provádění skriptu do chvíle, než přestane být zadané okno aktivní.

Lze rovněž specifikovat "Prodlevu" v sekundách. Po provedení příkazu získá proměnná %ERRORLEVEL% hodnotu 0 v případě normálního ukončení příkazu nebo 1 pokud uplynula zadaná prodleva.


WinHide , <Titulek okna> [,<Text okna>]
WinShow, <Titulek okna> [,<Text okna>]
WinRestore, <Titulek okna> [,<Text okna>]
WinMinimize, <Titulek okna> [,<Text okna>]
WinMaximize, <Titulek okna> [,<Text okna>]
WinActivate, <Titulek okna> [,<Text okna>]
WinClose, <Titulek okna> [,<Text okna>]

Pokud okno existuje, provede se příslušný příkaz (např. minimalizace, skrytí, aktivace atd.)


Význam příkazů:
WinHide - skrytí okna
WinShow - zobrazení okna
WinRestore - obnovení okna
WinMinimize - minimalizace okna
WinMaximize - maximalizace okna
WinActivate - okno se stane aktivním
WinClose - okne se zavře


WinMove , <Titulek okna>, [<Text okna>], <X>, <Y>, <Šířka>, <Výška>

Existuje-li okno se zadaným titulkem a textem, je přesunuto na pozici <X>, <Y> a velikost nastavena na <Šířku> a <Výšku>.

Např.

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

Přesune okno Poznámkového bloku na pozici 0, 0 a změní jeho velikost na 100, 100.

Nezapomeňte vložit čárku pokud vynecháte text okna. Místo šířky a výšky lze použít "default", nechcete-li měnit velikost okna.

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


WinSetTitle , <Titulek okna>, [Text okna], <Nevý titulek>

Tímto příkazem přejmenujete okno.

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


WinMinimizeAll

Tento příkaz prostě minimalizuje všechna okna.


Návrat k Obsahu

Syntaxe příkazu Send

Syntaxe příkazu "Send" je podobná aplikaci ScriptIt a příkazu Visual Basicu "SendKeys". Znaky jsou odeslány tak, jak jsou zapsány s výjimkou následujících znaků:

'!'
Označuje stisk klávesy ALT, tudíž "Send, Toto je text!a" vyšle klávesy "Toto je text" a pak kombinaci "ALT+a".

Poznámka: Některé prográmky jsou háklivé na velikost písmen stisknutých spolu s klávesou ALT, kdy "!A" je různé od "!a". První případ znamená ALT+SHIFT+A, druhý ALT+a. Jste-li na pochybách, používejte malá písmena!

'+'
Označuje stisk klávesy SHIFT, tedy "Send, Aho+j" pošle text "AhoJ". "Send, !+a" pošle "ALT+SHIFT+a".

'^'
Znamená stisk klávesy CTRL, tudíž "Send, ^!a" vyšle "CTRL+ALT+a".

Některé programy jsou háklivé na velikost písmen a klávesu CTRL, kdy "^A" je různé od "^a". První případ říká CTRL+SHIFT+A, druhý je CTRL+a. Jste-li na pochybách, užívejte malá písmena!

'#'
Mřížka se používá jako oddělovač k usnadnění čtení řádku, tedy "Send, A#h#o#j" je totéž jako "Send, Ahoj".


Je možné posílat některé zvláštní klávesy a jejich jména se uzavírají do složených závorek.

Poznámka: Windows nedovolí simulovat kombinaci CTRL+ALT+DEL!

Příkaz Send

Výsledný stisk klávesy

{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{SPACE} Mezerník
{ENTER} ENTER
{ALT} ALT
{BACKSPACE} or {BS} BACKSPACE
{DELETE} nebo {DEL} DELETE
{UP} Šipka nahoru
{DOWN} Šipka dolů
{LEFT} Šipka vlevo
{RIGHT} Šipka vpravo
{HOME} HOME
{END} END
{ESCAPE} nebo {ESC} ESCAPE
{INSERT} nebo {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} Klávesy numerického bloku
{NUMPADMULT} Šedá *
{NUMPADADD} Šedé +
{NUMPADSUB} Šedé -
{NUMPADDIV} Šedé /
{NUMPADDOT} Desetinná tečka (numerický blok)
{APPSKEY} Aplikační klávesa Windows
{ALTDOWN} Přidrží klávesu ALT do doby vyslání {ALTUP}
{SHIFTDOWN} Přidrží klávesu Shift do doby vyslání {SHIFTUP}
{CTRLDOWN} Přidrží klávesu CTRL do doby vyslání {CTRLUP}
{ASC nnnn} Vyšle kombinaci kláves ALT+nnnn


Vyslání ASCII hodnoty A (totéž jako stisk ALT+65 na numerické klávesnici):
    Send, {ASC 65}

Jednotlivé klávesy mohou být též opakovány. např.
Send, {DEL 4} Stiskne 4krát klávesu DEL.
Send, {S 30} Vyšle 30 znaků 'S'.
Send, +{TAB 4} Stiskne 4krát SHIFT+TAB.

Návrat k Obsahu

Sekce [ADLIB]

Sekce [ADLIB] je nepovinná. Pokud je přítomná, měla by být umístěna na konci skriptu. Sekce ADLIB slouží ke zvládnutí nečekaných situací. Skládá se z jednořádkových příkazů kontrolujících aktivitu okna a zasílajících takovému oknu klávesové příkazy.
Sekce ADLIB musí začínat řádkem "[ADLIB]".

Formát řádků v ADLIB sekci je:

<Titulek 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 sekce ADLIB by skript nikdy neskončil, protože okno Poznámkového bloku by se nezavřelo, dokud by někdo neodpověděl na dotaz "Chcete změny uložit?".

Příkazy v sekci ADLIB musí obsahovat titulek okna a nějaký další text okna. Pokud okno žádný text neobsahuje, nebo nechcete žádný zadat, musíte vložit 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


Návrat k Obsahu

Příklady

Několik příkladů v angličtině je obsaženo v tomto archivu, další lze najít na Domovské stránce AutoIt .

Příklady v české verzi tohoto dokumenty byly upraveny, aby odpovídaly situaci v českých Windows95.

Návrat k Obsahu

Historie AutoIt

17. 6. 2000 - v2.42

11. 02. 2000 - v2.41

09. 02. 2000 - v2.4

20. 12. 1999 - v2.32

12. 12. 1999 - v2.31

10. 12. 99 - v2.3

25. 11. 1999 - v2.23

23. 11. 1999 - v2.22

20. 11. 1999 - v2.21

18. 11. 1999 - v2.2

16. 09. 1999 - v2.11

11. 09. 1999 - v2.1

28. 08. 1999 - v2.03

26. 08. 1999 - v2.02

18. 08. 1999 - v2.01

16. 08. 1999 - v2.0

Poznámka: Některé změny vyvulávají nutnost modifikace starších AutoIt skriptů - znovu si prosím pozorně přečtěte dokumentaci, přecházíte-li z nižší verze. Je mi to líto, ale přechod z verze 1.8 na 2.0 si vyžádal změnu chování některých příkazů, aby byla usnadněna implementace nových, žádaných funkcí. Sám používám verzi 1.8 pro staré skripty a verzi 2.0 pro nově napsané skripty.

02. 04. 1999 - v1.8

14. 03. 1999 - v1.7

28. 02. 1999 - v1.6

20. 02. 1999 - v1.5

20. 01. 1999 - v1.4

18. 01. 1999 - v1.3

14. 01. 1999 - v1.2

12. 01. 1999 - v1.1

12. 01. 1999 - v1.0

Návrat k Obsahu

Žádaná rozšíření

Zde jsou některé zajímavé návrhy. Máte-li další, podělte se o ně.

Návrat k Obsahu

Poděkování...

Lidé uvedení níže si zaslouží mé poděkování.

Zpět k obsahu