Verze 2.42 - (C)1999, 2000 Jonathan Bennett
(Email: jbennett@hidden.demon.co.uk)
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 ]
1. Úvod
7. Aut2Exe - Převod skriptů do .exe souborů
13. Příkazy skriptu
15. Sekce [ADLIB]
16. Příklady
17. Historie AutoIt
18. Žádaná rozšíření
19. Poděkování
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.
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.)
Viz soubor License.txt obsažený v tomto archivu.
AutoIt je, dle autorova nejlepšího vědomí, plně slučitelný s rokem 2000. Odkazuji nicméně na licenci.
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>
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
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.....".
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>
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.
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
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) |
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
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.
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
Zde jsou některé zajímavé návrhy. Máte-li další, podělte se o ně.
Lidé uvedení níže si zaslouží mé poděkování.