Informator techniczny Wonderware 044


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


Wyszukiwarka