Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Jak používat klávesnici na obrazovce k zadávání hodnot myší (touchscreen)

Program osk.exe (On Screen Keyboard) zobrazí na obrazovce virtuální klávesnici, která se ovládá myší (touchscreen), a je standardní součástí OS Windows 2000 a vyšší. Tím lze zadat a editovat hodnoty v obrazech a oknech aplikace PROMOTIC. Klávesnice je úplná, včetně speciálních kláves. Umožňuje mimo jiné i otevřít nápovědu, lokální menu, přepínat jazyk, označovat text, atd. Emulace stisku kláves je posílána oknu, které je aktivní. Okno vlastní virtuální klávesnice se po stisknutí klávesy myší nestane aktivní, takže opakované stisknutí kláves posílá jednotlivé znaky stále stejnému oknu. Program se otevře na pozici, na které byl naposledy zavřen.
Použití virtuální obrazovkové klávesnice je ukázáno v Demo aplikaci systému PROMOTIC, kde lze klávesnici zobrazit/zavřít opakovaným stiskem tlačítka OSK v nástrojové liště. Vlastní zobrazení/zavření okna s virtuální klávesnicí se provádí následujícím skriptem (pozor na skutečný název v záhlaví okna virtuální klávesnice, může být jazykově závislý):
Otevře okno klávesnice ve 32 i 64 bitovém systém PROMOTIC:
Upozornění! 32 bitový systém PROMOTIC na 64 bitových OS Windows neumí standardně zobrazit klávesnici osk.exe. Je to způsobené tím, že osk.exe je umístěn ve složce "/Windows/System32", která je systémem zdvojená. 32 bitový program vidí jiný obsah této složky než 64 bitový program. V této složce je umístěna naprostá většina knihoven a utilit OS Windows v obou verzích (64/32 bit). Nástroj osk.exe je vyjímkou a je umístěna pouze v 64 bitové verzi, tzn. 32 bitový program ve 32 bitové verzi složky System32 nástroj nenajde. Existuje způsob, jak z 32 bitového programu vyvolat 64 bitovou verzi osk.exe pomocí 64 bitového cmd.exe (příkazový řádek). 32 bitový program může vidět 64 bitovou verzi utilit ve virtuální složce /Windows/SysNative. Přesný způsob volání i s příkladem testu, zda spuštěná aplikace vidí osk.exe je uveden v tomto příkladě.
JavaScriptVBScriptVyber a zkopíruj do schránky

if (Pm.FileGetLength("#winsys:osk.exe") > 0)
Pm.ShellExecute("open", "#winsys:osk.exe", "", "", 1);
else
Pm.ShellExecute("open", "#win:SysNative\\cmd.exe", "", "", 1);
Otevře nebo zavře okno klávesnice:
JavaScriptVBScriptVyber a zkopíruj do schránky

if (Pm.WndOper(1, "Klávesnice na obrazovce", 0))
Pm.WndOper(1, "Klávesnice na obrazovce", 10);
else
Pm.ShellExecute("open", "#winsys:osk.exe", "", "", 1);
Otevře nebo nastaví na popředí okno klávesnice:
JavaScriptVBScriptVyber a zkopíruj do schránky

if (Pm.WndOper(1, "Klávesnice na obrazovce", 0))
Pm.WndOper(1, "Klávesnice na obrazovce", 11);
else
Pm.ShellExecute("open", "#winsys:osk.exe", "", "", 1);


V Demo aplikace systému PROMOTIC v menu Další/Zobrazení klávesnice a v Další/klávesnice je znázorněna jiná možnost jak lze pomocí myši (touchscreen) zadat požadované hodnoty aplikaci.

Poznámka! Bylo zjištěno omezení zasílaní Windows zpráv (Pm.WndOper) z 32 bitového programu oknu 64 bitového programu, kdy 32 bitový program musel být spuštěn s povýšenými právy (Spustit jako správce).
Navigace:
 
 
- Jak používat klávesnici na obrazovce k zadávání hodnot myší (touchscreen)
 
 
- SVG
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice