Ovládání programů pod WINDOWS pomocí jiného programu

Operační systém Windows 95/98 a vyšší již splňuje definici operačního systému, který se snaží oddělovat spouštěné programy od hardwaru. Existuje tedy definované rozhraní, pomocí kterého komunikuje každý program se svým okolím. Přes toto rozhraní je možné programy ovládat pomocí jiných programů a simulovat tak například stisk klávesy, operace s myší, ale i jiné systémové informace. 
Použití tohoto systému není však nic příliš jednoduchého. Pro usnadnění následujících popisů jednotlivých programů, které umožňují ovládání je vhodné definovat si několik výrazů.

Sekvence 
Jedná se o jeden, nebo několik příkazů z dálkového ovladače, které vyvolávají následující akci. Sekvence mohou existovat samostatně, nebo být v nějaké „adresářové“ struktuře přiřazeny několika různým dálkovým ovladačům. 

Akce
Činnost, kterou vyvolá indentifikace sekvence. Akcí tedy nazýváme například simulaci stisku klávesy. Jednotlivé akce mohou být přiřazeny různým programům. Právě přiřazení správné akce správnému programu je nejsložitější na celém řízení PC pomocí jiných programů. 

Zde bych chtěl rozdělit základní možné akce, které je možné vyvolávat a ovládat různými programy. Neuvádím zde úplně všechny možnosti, spíš naznačím ty nejzajímavější.

Window / Okno


  • Skrýt / zobrazit
  • Zavřít
  • Nastavit jako aktivní
  • Čekej
  • Minimalizuj / Maximalizuj
  • Posuň / změň velikost


Operační systém


  • Vypni / restart Windows
  • Odhlášení uživatele
  • Vypni / zapni – Monitor / Spořič obrazovky
  • Práce se zvukem – Mute / stereováha / regulace hlasitosti
  • Přepínání aplikací / spusť aplikaci..
  • Změň rozlišení
  • Otevři / zavři CD mechaniku


Příkaz  / Command


  • Klik myší - Dvojklik / Pravé / Levé
  • Vyslání obecného příkazu / systémového příkazu – viz popis cílení aplikací


Myš / Mouse


  • Klikání / posun myši
  • Scrolování okna o definovaný počet kroků, pomocí „kolečka“ nebo „kolébky“, které některé myši podporují…
  • Možnost simulace středního tlačítka u myší, které jej nemají..


Klávesnice / Keyboard


  • Simulace stisků kláves 
  • Různé kombinace se systémovými klávesami ALT / CTRL / SHIFT / 
  • Sekvence znaků – může například vložit string
  • Makro příkazy – Pomocí klávesových zkratek lze ovládat celé aplikace.


Skupina samotného ovládacího programu


  • Vypínání samotného ovládacího programu
  • Ovládání / přepínání skupin ovladačů
  • Uvolnění portu = umožnění chodu jiné aplikace


PlugIn 


  • Speciální skupina, do které lze cokoli doprogramovat. Velmi závislé na konkrétním programu


Nastavení normálních akcí, typu simulace klávesnice nebývá problém, záleží to většinou pouze na konkrétním programu. Obecně složité je pouze posílání systémových příkazů jednotlivým aplikacím.
 

Cílení aplikací / Target Applications
Každá vyvolaná akce je Operačním systémem identifikována pomocí dvou parametrů : 
Wparm“ a “Lparm“.Pokud znáte tyto dva parametry, stačí je vložit do políčka a vše je vyřešeno. Kde je však získat..
Vše budu vysvětlovat na programu GINDER, který je k dispozici ZDARMA a umí prakticky vše potřebné.

Například stisk klávesy je nutné nejprve nastavit (jaká klávesa / nebo kombinace kláves) a teprve potom zacílit, pro kterou konkrétní aplikaci bude tato klávesa simulována. Po definici klávesové zkratky použijeme tlačítko TARGET  - se otevře speciální okno. 

Většinou jsou zde dva výběry. V jednom jsou umístěny běžící aplikace, ve druhém podobjekty konkrétní aplikace, vybrané v prvním okně.  Někdy jsou tato dvě okna umístěna do jednoho stromu. V některých programech nejsou použita dvě okna, ale seznam aplikací je podle nějakého algoritmu natolik zkrácen, že připomíná spíš přepínání běžících aplikací. – Takto "user friendly" ovládání je však spíše vyjímka. 
Většinou tedy projdeme všechny běžící aplikace ve větším okně a nakonec najdeme tu, která je nejpodobnější té, kterou máme spuštěnou a chceme na ni akci zamířit.  Poté vybereme správný podobjekt aplikace – zde používejte selský rozum a prakticky vždy uspějete..
 
 

Výběr TARGET aplikace pro nějakou akci v příkazu GINDER
Všiměte si okénka s terčem vpravo nahoře, tím lze aplikaci určit také..

Různé programy zde umožňují různé další volby, ale prakticky všechny pak mají 5 řádků, které popisují vybranou aplikaci a zaškrtnutelná políčka vedle těchto řádků. Zde je třeba opatrně volit které položky je nezbytně nutné zaškrtnout. Například jméno aplikace občas obsahuje editovaný, nebo přehrávaný soubor a ten se mění, takže s jiným souborem by to nefungovalo. 

Nyní stačí zacílení akce potvrdit a pokud jste nastavili správný objekt, bude vše fungovat.
 

SCANování akcí

Kromě cílení aplikace existuje také možnost odposlechnout potřebné systémové parametry. Jediný program, který to doposud podporuje a použitelně funguje je GINDER
 
 
 

SCANER systémových příkazů - GINDER

V sekci systémový příkaz zde lze aktivovat „SCANER“ který funguje jako monitor a vypisuje všechny systémové akce, které Operační systém vykonával. Scanování lze zapnout a vypnout, list aplikací smazat a vybranou aplikaci otestovat.  Pomocí tlačítka „použij“ lze pak parametry Wparam a Lparam snadno přenést to do GINDERu

Poznámka :
Občas je třeba TEST provádět pro několik akcí za sebou, protože akce na sebe navazují. Je třeba si také uvědomit, že mnoho stavových akcí, kdy se stejným tlačítkem něco zapíná a poté stejným tlačítkem opět vypíná, nemusí mít stejný parametr pro vypnutí jako pro zapnutí a naopak.. (i když to tak většinou je). 
 
 

Závěr
Ovládání libovolné aplikace přes rozhraní operačního systému je opbecně možné. Prakticky vždy lze najít cestu, jak ovládat to co je třeba. Někdy stačí vyvolat klávesovou zkratku v dané aplikaci, jindy je třeba použít sekvenci jako kdyby jste danou ovládací akci dělali ručně. Existují také různé programy, každý má jiné rozhraní a má lépe zvládnuté to či ono.

Pokud však něco ovládat potřebujete vždy lze najít cestu, jak to udělat....
 

Autor : Jan Řehák