INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 44 28-03-2002 Ustawianie blokady klawiszy w InTouch u 7.0/7.1/7.11 W momencie, gdy zostawiamy aplikację InTouch a na obiekcie i chcemy ustrzec się przed nieoczekiwanymi sytuacjami spowodowanymi nieodpowiedzialną obsługą, możemy skonfigurować InTouch a w tryb pełnej kontroli nad systemowym sterowaniem klawiatury. Poza tym, można tak skonfigurować aplikację, aby nie możliwe było przejście do systemu operacyjnego (uruchomienie innych programów, gier komputerowych, zamknięcie aplikacji wizualizacyjnej lub systemu). W tym celu można dokonać odpowiedniej konfiguracji programu WindowViewer w edycji aplikacji w menu Special/Configure/WindowViewer. W dostępnych opcjach, można włączyć InTouch a w tryb Niemożliwy do zamknięcia , wyłączyć menu kontrolne, wyłączyć m.in. kombinację klawiszy ALT+TAB i CTRL+ESC w celu przejścia do innych aplikacji lub uruchomienia menu Start (Menadżer Aplikacji w Win 3.xx) i inne. Impossible to Close brak możliwości zamknięcia WindowViewer a. Allow CTRL-Breake to stop scripts przerywanie działania skryptów kombinacją klawiszy CTRL+Break . Enable Fast Switch włączenie szybkiego przechodzenia między środowiskiem Runtime i Development za pomocą kombinacji klawiszy ALT+SHIFT+1 . Disable ALT key wyłączenie klawisza ALT na klawiaturze czyli użycie klawiszy ALT-TAB , ALT-F4 itd. Hide Cursor ukrycie myszy (np. gdy używamy ekrany dotykowe). Disable CTRL-ESC key zablokowanie użycia klawiszy CTRL-ESC . ASTOR Sp. z o.o. e-mail: wonderware1@astor.com.pl tel.: 012 428-63-30 Dział Oprogramowania Przemysłowego http://www.astor.com.pl fax: 012 428-63-09 ul. Smoleńsk 29, 31-112 Kraków Always Miximize włączenie trybu wypełniania całej przestrzeni ekranu bez możliwości minimalizacji okna InTouch a. InTouch nie instaluje i nie konfiguruje automatycznie sterownika kontrolującego klawiaturę (Keyboard Filter Driver) w systemie Windows NT z powodu znanych konfliktów z oprogramowaniem PCAnywhere 8.0 i pózniejszych wersji. Razem z InTouch em w jego katalogu dostarczona jest kopia odpowiedniego driver a, który można ręcznie zainstalować w przypadku gdy chcemy wykorzystywać blokadę klawiszy ALT i CTRL . W zależności od tego, w jakim systemie operacyjnym zainstalowany jest InTouch, stosuje się różne metody blokowania przycisków na klawiaturze. Dla systemu Windows 95 i Windows 98 InTouch 7.0/7.1 Przekopiować plik driver a Vwwkbd.vdx (znajduje się on w katalogu InTouch a) do katalogu WIN95\SYSTEM, Uruchomić program SYSEDIT lub ręcznie wyedytuj plik SYSTEM.INI dodać do sekcji [386Enh] następujący wpis aktywujący driver: Device=Vwwkbd.vxd Dokonać restartu komputera. Dla systemu Windows NT - InTouch 7.0/7.1/7.11 i Windows 2000 InTouch 7.1/7.11 Wariant ten należy stosować z oprogramowaniem InTouch w wersji: " InTouch 7.0 EN Service Pack 2 patch04, " InTouch 7.1 EN patch06, " InTouch 7.11 EN patch01. Aby możliwe było blokowanie klawiatury należy: " Przekopiować pliki Keytrap.dll i Keytrap.wdf do katalogu, w którym zainstalowany jest InTouch. Pliki te zarchiwizowane są w pliku o nazwie Keytrapfs2k.zip, który znajduje się na płycie Kompleksowego Serwisu Technicznego (Comprehensive Support Knowledge Base CD) w opcji: \Free Apps & Add-ons\Drivers\ Keyboard Filter Driver for InTouch 6.0 and Later, sekcja Installing for InTouch 7.0/7.1 for Windows NT & Windows 2000. Po skopiowaniu wskazanych plików, w InTouch u pojawią się dwie nowe funkcje skryptowe KeyTrapSet() i KeyTrapStatus(). " Zainstalować driver klawiatury, który umieszczony jest w pliku Keybdfs2k.zip. Plik ten znajduje się na płycie Kompleksowego Serwisu Technicznego (Comprehensive Support Knowledge Base CD) w opcji: \Free Apps & Add-ons\Drivers\ Keyboard Filter Driver for InTouch 6.0 and Later, sekcja Installing for InTouch 7.0/7.1 for Windows NT & Windows 2000. " Zainstalować ponownie odpowiednie uaktualnienie do InTouch a (Patch). " Dokonać restartu komputera Blokowanie przycisków klawiatury, można zrealizować za pomocą dwóch metod: " Definicja ustawień na poziomie konfiguracji WindowViewer. Opcje te dostępne są z poziomu: WindowMaker a i menu: Special/Configure/WindowViewer. W zakładce Window Configuration w grupie Miscellaneous, możliwe są do zaznaczenia następujące opcje: Disable ALT key i Disable CTRL-ESC key. 2 Stan opcji w konfiguracji Stan kombinacji przycisków WindowViewer CTRL+ ALT+ ALT+ CTRL+ Disable CTRL-ESC ALT+ Fly Win Disable ALT key TAB ESC ESC key DEL A A A A A Nie zaznaczone Nie zaznaczone A A A Z Z Zaznaczone Nie zaznaczone Z Z Z A Z Nie zaznaczone Zaznaczone Z Z Z Z Z Zaznaczone Zaznaczone gdzie: A aktywne, Z zablokowane Wykorzystanie funkcji skryptowych KeyTrapSet() i KeyTrapStatus(). Dzięki tym funkcjom, można w dowolnym czasie dynamicznie zmieniać blokowanie przycisków klawiatury. Gdy używane są funkcje skryptowe KeyTrapSet() i KeyTrapStatus(), wartości początkowe argumentów tych funkcji, czyli: TRAP, REBOOT, TASKSWITCH, ustawiane są na podstawie konfiguracji zdefiniowanej z poziomu: WindowMaker a i menu: Special/Configure/WindowViewer. Przypisanie odpowiednich wartości tym trzem argumentom, następuje w momencie uruchomiania WindowViewer a. Moment ten uwzględniony jest w poniższej tabeli jako: Na starcie WV, natomiast moment Skrypt, określa zmiany dokonywane z poziomu pracującej aplikacji, czyli uruchomionego WindowViewer a i realizowane za pośrednictwem skryptów. Stan argumentów Stan kombinacji Stan opcji w konfiguracji funkcji przycisków WindowViewer skryptowych Moment pracy Na starcie WV 0 1 1 A A A A A Nie zaznaczone Nie zaznaczone Na starcie WV 1 0 1 A A A Z Z Zaznaczone Nie zaznaczone Na starcie WV 1 1 0 Z Z Z A Z Nie zaznaczone Zaznaczone Na starcie WV 1 1 0 Z Z Z Z Z Zaznaczone Zaznaczone Skrypt 0 0 0 A A A A A - - Skrypt 1 0 0 Z Z Z Z Z - - Skrypt 1 1 0 Z Z Z A Z - - Skrypt 1 0 1 A A A Z Z - - Skrypt 1 1 1 A A A A A - - gdzie: A aktywne, Z - zablokowane 3 key DEL TRAP Fly Win Disable REBOOT ALT+TAB ALT+ESC CTRL+ESC CTRL+ALT+ Disable ALT TASKSWITCH CTRL-ESC key Przykład 1 Przykłady wykorzystania funkcji skryptowej KeyTrapSet(). KeyTrapSet ("TRAP", 1); KeyTrapSet ("REBOOT", 0); KeyTrapSet ("TASKSWITCH", 0); Za pomocą powyższego skryptu zostały zablokowane kombinacje przycisków na klawiaturze: ALT+TAB , ALT+ESC , CTRL+ESC , CTRL+ALT+DEL i przycisk Windows Fly Windows , jak to pokazuje szósty wiersz w powyższej tabeli. Składnia funkcji skryptowych KeyTrapSet( Argument ,liczba_całkowita); gdzie: Argument jest jednym z dostępnych ciągów znaków: TRAP, REBOOT lub TASKSWITCH, liczba_calkowita liczba całkowita z zbioru liczb {0;1}. zmienna_integer=KeyTrapStatus( Argument ); gdzie: Argument jest jednym z dostępnych ciągów znaków: TRAP, REBOOT lub TASKSWITCH, zmienna_integer jest zmienną, która może przyjąć wartość całkowitą z zbioru {0;1}, w zależności od ustawienia określonego Argumentu, przez funkcję skryptową KeyTrapSet(). Przykład 2 Przykład wykorzystania funkcji skryptowych: KeyTrapSet() i KeyTrapStatus(). " blokowanie wszystkich kombinacji przycisków na klawiaturze tzn: ALT+TAB , ALT+ESC , CTRL+ESC , CTRL+ALT+DEL i przycisk Windows Fly Windows KeyTrapSet ("TRAP", 1); KeyTrapSet ("REBOOT", 0); KeyTrapSet ("TASKSWITCH", 0); " sprawdzenie stanu poszczególnych argumentów, ustawionych w powyższym skrypcie status_trap=KeyTrapStatus ("TRAP"); status_reboot=KeyTrapStatus ("REBOOT"); status_taskswitch=KeyTrapStatus("TASKSWITCH"); Informacje dodatkowe W przypadku kiedy ustawimy aplikację InTouch a w ten sposób, że operator nie będzie w stanie jej zamknąć, należy pamiętać, aby zostawić drogę do normalnego opuszczenia aplikacji czyli np. okno administracyjne, które będzie dostępne tylko po wpisaniu odpowiedniego hasła, z poziomu którego będzie można przyciskiem zamknąć InTouch a za pomocą funkcji skryptowej WWControl(InfoAppTitle("View"), "Close"); W przypadku, gdy w komputerze znajduje się napęd CD-ROM należy wyłączyć systemową funkcję AutoPlay czyli np. automatyczne uruchamianie instalacji oprogramowania po włożeniu płyty do napędu. Należy sprawdzić czy InTouch nie uruchamia innej aplikacji, z poziomu której dałoby się wyjść do systemu. 4