WinMonitor / Objektový model |
WinMonitor lze běžně ovládat vyvoláním některého příkazu z nabídky. Někdy je k dosažení určité informace nutné provést posloupnost příkazů. Jindy nemusí žádný běžný příkaz přesně odpovídat potřebám uživatele. Často je také třeba ovládat program pomocí myši. Tyto, a mnohé další případy lze řešit vytvořením makra, které podobně jako dávkový soubor v systému DOS provede automaticky požadovaný úkol. V systému Windows je možné vytvářet makra pomocí takzvaných skriptů. Skript je textový soubor obsahující posloupnost příkazů, které se mají provést. Možnosti jsou rozsáhlé, protože z takového skriptu se lze odkázat na velké množství nainstalovaných programů a to nejen tak, že je lze spustit, ale také je po jejich spuštění ovládat. Při psaní skriptu je třeba dbát na způsob zápisu, je nutné použít programovací jazyk, v tomto případě je to buď Visual Basic Script nebo Java Script. V dalším popisu i příkladech bude použit jazyk Visual Basic. Pomocí skriptů je možné ovládat jakýkoliv program, který zveřejňuje své funkce. Takto lze pracovat například s programy Office. Takový způsob ovládání je možný i pro WinMonitor. Při psaní skriptu je nejprve nutné odkázat se na WinMonitor, a následně pak využít jeho příkazů. Z programátorského hlediska se WinMonitor jeví jako objekt, který nabízí řadu možností (metod), jak jej použít. Odtud pojmenování této kapitoly - Objektový model. Vytvořené skripty lze spouštět z nabídky WinMonitoru a přiřadit jim horké klávesy. Při úpravě ozvučení je také možné aktivovat skript po fokusu na určitý prvek okna. Příklad jednoduchého skriptu
Nastavování hodnot skriptu z dialogu:Součástí aplikační nabídky může být funkce nastavení. Tu lze doplnit úpravou nabídky, jako příklad může posloužit nastavení pro Word nebo nové ozvučení TotalCommanderu. Pro definici položky je použit typ spuštění skriptu, příkaz je:$(appsetdir)\set.exePříkaz spouští program set.exe umístěný ve složce definičních souborů aplikace, například: c:\program files\winmonitor\set\totalcmdV této složce je také umístěn soubor frm.txt, určující, co bude po vyvolání nabídky program set.exe zobrazovat. Je možné upravit jméno okna a zobrazit ovládací elementy typu zaškrtávací tlačítko, textové editační pole a seznam. Hodnoty těchto elementů jsou vyčteny z určených míst a po ukončení tlačítkem OK tam zpětně zapsány. Každá položka je na zvláštním řádku, hodnoty jsou odděleny středníkem.
Příklad položek souboru frm.txt: form;Nastavení Total CommanderUrčení titulu dialogu checkbox;Ohlásit;script.vbs;bRekniToZobrazí se zaškrtávací tlačítko, titulek tlačítka, jméno skriptu kde je proměnná kterou budeme upravovat, jméno proměnné textbox;Zadejte jméno souboru:;script.vbs;strPlayFileTextové pole, titulek, jméno skriptu, jméno proměnné listbox;Vyberte položku:;script.vbs;list_text;položka1;položka2;položka3Seznam, titulek, soubor skriptu, jméno proměnné, výčet položek seznamu
V souboru skriptu, v tomto případě script.vbs, jsou pak umístěny na zvláštních řádcích přiřazení.
Hodnoty proměnných se pak ve skriptu testují a určují jeho chování. Program set.exe při spuštění vyčte hodnotu a nastaví podle ní ovládací prvek dialogu. Po ukončení pak stav položky zapíše do skriptu.
Například: list_text="položka3"Přiřazení hodnoty pro seznam, program set.exe při spuštění vyčte hodnotu a v zobrazeném seznamu vybere tuto položku. Po ukončení pak hodnotu vybrané položky zapíše do skriptu. Hodnota musí být v uvozovkách. bRekniTo=1Přiřazení hodnoty pro zaškrtávací tlačítko. Přípustné hodnoty jsou 0 a 1. strPlayFile="title.wav"Přiřazení hodnoty pro textové pole. Textová hodnota musí být v uvozovkách. Příklad kódu, který zpracovává nastavení: if bRekniTo=1 then call objVoice.Voice(2, 0, "Tak to říkám.") end if Příklad ovládání uživatelského rozhraní programůSkript může nejen sloužit k získání a následnému ohlášení informace z obrazovky, ale lze jej také využít k vytváření maker a tak usnadnit a automatizovat obsluhu programů. WinMonitor v tomto případě zajišťuje informaci o stavu programu, například o zobrazeném okně nebo dialogu a tak přesně časovat posloupnost jednotlivých příkazů nebo akcí. Vedle služeb WinMonitoru byl také vytvořen pomocný objekt WSH, který poskytuje další informační a řídící funkce.
Řízení programu Poznámkový blokSkript zajistí jeho spuštění, následně zápis textu a uložení souboru. Nejprve je spuštěn program NOTEPAD.EXE. Než je ale možné posílat klávesové akce, je nutné počkat, dokud se okno programu neobjeví. K tomu slouží smyčka. Podobně je nutné počkat na dialog Uložit jako, který reaguje na zaslanou kombinaci ALT+F4. Pak je možné zadat jméno souboru. Tlačítko Uložit je obslouženo funkcí, která provede kliknutí myší na místo určené titulem okna a tlačítka.Nakonec je třeba pamatovat na možnost, že soubor daného jména již existuje a tak je nutné obsloužit dotaz o přepisu souboru. Úplný obsah skriptu si můžete prohlédnout a také můžete skript vyzkoušet. K tomu je ovšem nutné mít spuštěný WinMonitor. Skript očekává vzhled a textový popis dialogů, který odpovídá systému Windows Vista. Zpracování klávesPokud jste si v předchozím příklad všimli příkazu pro zadání kláves, zjistili jste, že parametry jsou číselné hodnoty. Bude tedy praktické zjistit, jaké hodnoty odpovídají jednotlivým klávesám. Místo rozsáhlé tabulky přímo vyzkoušíme skript, který to zjistí. Skript běží ve smyčce, která se ukončí, pokud v dialogu stiknete ESCAPE nebo tlačítko Storno. Bude také ukončen pokud po určitou dobu nebudete používat klávesnici. Mějte na paměti, že stisknuté klávesy budou zpracovány v aktivním okně.Následuje varianta, kdy místo dialogu necháme hodnotu ohlásit hlasem WinMonitoru. Skript běží ve smyčce, která se ukončí, pokud stiknete ESCAPE. Bude také ukončen pokud po určitou dobu nebudete používat klávesnici. Další informace:Textový soubor s deklaracemi funkcí objektového modelu WinMonitoru.Nápověda k programování skriptů (v angličtině). |
Zpět na : Obsah  |