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 skriptu:

1.Přiřazení objektů a deklarace proměnných
Set objVoice = WScript.CreateObject("WinMonitor.Voice")
Set objMouse = WScript.CreateObject("WinMonitor.Mouse")
dim Xpos
dim Ypos
dim strName
dim strValue
dim strDescription
dim Role
dim State
2.Zjistíme polohu aktivního prvku a přesuneme tam kurzor myši.
Xpos = objMouse.GetActiveObjectX
Ypos = objMouse.GetActiveObjectY
call objMouse.MoveCursorInScreen(Xpos, Ypos)
 
3.Zjistíme typ a stav prvku.
Role = objMouse.GetRoleXY(Xpos, Ypos)
State = objMouse.GetStateXY(Xpos, Ypos)
4.Je-li to odkaz, přehrajeme zvuk tlačítka, jinak přehrajeme přiřazený zvuk
If (State And &H400000) then 
	call objVoice.Voice (6, &H1E, vbNullString)
Else
	call objVoice.Voice (6, Role, vbNullString)
End If
5.Je-li to odkaz, přehrajeme zvuk tlačítka, jinak přehrajeme přiřazený zvuk a ohlásíme jméno a hodnotu.
strName = objMouse.GetNameXY(Xpos, Ypos)
strValue = objMouse.GetValueXY(Xpos, Ypos)
call objVoice.Voice(2, 0, strName & ", " & strValue)

Textový soubor s deklaracemi funkcí objektového modelu WinMonitoru.

Nápověda k programování skriptů (v angličtině).

Zpět na : Obsah