10.05.2023 07:53

Co se děje ? Jak se pracuje v jazyce vzorců ? (2)
21.04.2023 14:15

Co se starou dokumentací k R3, R4, ...?
05.04.2023 14:41

Událost, při neexistenci přílohy. (2)
05.04.2023 11:51

Jak zjistit vložení přílohy. (4)
21.03.2023 11:14

Rámec nebo okno ? (10)
22.02.2023 10:14

Vylepseni designera 9.01 (3)
02.02.2023 20:27

Jak resit casove narocneho agent na frontendu (13)
25.01.2023 19:15

Ak ste niekedy potrebovali v prostredí Notes klienta simulovať prácu s klávesnicou, tak viete, že to nieje jednoduché. Možno cestou je použitie WIN 32 API a jeho metódy "keybd_event".
Ako z vyššie uvedeného vyplýva, tento návod je aplikovateľný vtedy, ak sú splnené dva predpoklady:
1. Klient Lotus Notes pracuje vo Win32 prostredí
2. Sekvenciu je možné naprogramovať v LotusScripte
Najskôr si povedzte, akú sekvenciu chcete simulovať. Zvyčajne ide o jednu z týchto situácií:
1. V sekvencii potrebujete odtieniť používateľa od interaktívneho okna (napríklad dialógové okná s kontrolnou otázkou).
2. V sekvencii sa sprístupňuje menu príkaz, ktorý nie je jednoducho dostupný a nemá alternatívu v command príkazoch.
3. V LotusScript sekvencii potrebujete zaradiť príkaz, ktorý nemá v LS alternatívu.
Práve posledný typ je riešený v nasledujúcom príklade:
Stojíte pred otázkou, ako vynútiť v LS sekvencii znovu-prihlásenie používateľa. Potrebovali by ste jednoducho simulovať v LS postupnosť príkazov File-Tools-LockID, alebo inak: Alt - F - T - L. (Viem, je to možné aj cez F5, no tento alternatívny prístup som zvolil kvôli ilustratívnosti).
Riešenie je nasledovné:
1. V príslušnom objekte zadeklarujte funkciu keybd_event:
Declare Sub keybd_event Lib "user32.dll" (Byval bVk As Integer, Byval bScan As Integer, Byval dwFlags As Integer,Byval dwExtraInfo As Integer)
2. V samotnej LS sekvencii vložte riadky, ktoré simulujú stláčenie kláves:
keybd_event &h12,0,0,0 ' stlačené <Alt>
keybd_event &h46,0,0,0 ' stlačené <F>
keybd_event &h46,0,2,0 ' uvoľnené <F>
keybd_event &h54,0,0,0 ' stlačené <T>
keybd_event &h54,0,2,0 ' uvoľnené <T>
keybd_event &h4C,0,0,0 ' stlačené <L>
keybd_event &h4C,0,2,0 ' uvoľnené <L>
keybd_event &h12,0,2,0 ' uvoľnené<Alt>
Hotovo. A v prípade, že začnete využívať tento prístup systémovo, rozhodne odporúčam zapuzdriť kódy kláves do konštánt (napr. VK_F=&h46) a začať objektovo programovať. Tvorba i údržba sekvencií sa výrazne zjednoduší.
Autor: Miroslav Uhlár
Datum: 09.05.2003
Sdílet článek Seznam komentářů
Související články: