Oprogramowanie narzędziowe
osk.exe (
On Screen Keyboard) wyświetli na ekranie wirtualną klawiaturę, która jest sterowana myszką (
touchscreen). W ten sposób można wprowadzić oraz edytować wartości w panelach oraz w oknach aplikacji PROMOTIC.
Klawiatura jest zupełna, włącznie z klawiszami specjalnymi. Umożliwia (między innymi) również otworzyć pomoc, menu kontekstowe, przełączać języki, zaznaczać tekst, itd. Emulacja naciśnięcia klawisza jest wysyłana oknu, które jest aktywne. Okno samej wirtaulnej klawiatury po naciśnięciu lewego przycisku myszki nie uaktywni się, czyli powtarzane naciśnięcie klawiszy wysyła pojedyńcze znaki stale do identycznego okna.
Oprogramowanie narzędziowe zostanie otwarte w pozycji, w której został ostatnio zamknięty. Właściwe wyświetlnie/zamknięcie okna z wirtualną klawiaturą wykonuje się przy pomocy następującego skryptu (uwaga na rzeczywistą nazwę w nagłówku okna wirtualnej klawiatury, może być językowo zależna):
Otworzy okno klawiatury w 32 oraz 64-bitowym system PROMOTIC:
Uwaga! 32-bitowy system PROMOTIC na 64-bitowym SO Windows nie musi standardowo wyświetlić klawiaturę osk.exe. Jest to spowodowane tym, że osk.exe znajduje się w folderze "/Windows/System32", który jest powielony przez system. 32-bitowy program widzi inną zawartość tego foldera aniżeli program 64-bitowy. W tym folderze znajduje się większość bibliotek oraz programów użytkowych SO Windows w obu wersjach (64/32-bit). Program użytkowy osk.exe jest wyjątkiem i znajduje się tylko w wersji 64-bit, tzn. 32-bitowy program w 32-bitowej wersji foldera System32 program użytkowy nie znajdzie. Istnieje sposób, jak z 32-bitowego programu wywołać 64-bitową wersję osk.exe przy pomocy 64-bitowego cmd.exe (wiersz poleceń). 32-bitowy program może widzieć 64-bitową wersję programów użytkowych w wirtualnym folderze /Windows/SysNative. Szczegółowy opis wołania wraz z przykładem tekstu, czy uruchomiona aplikacja widzi osk.exe znajduje się w tym przykładzie.
JavaScriptVBScriptWybierz oraz skopiuj do schowka
if (Pm.FileGetLength("#winsys:osk.exe") > 0)
{
Pm.ShellExecute("open", "#winsys:osk.exe", "", "", 1);
}
else
{
Pm.ShellExecute("open", "#win:SysNative\\cmd.exe", "", "", 1);
}
If Pm.FileGetLength("#winsys:osk.exe") > 0 Then
Pm.ShellExecute "open", "#winsys:osk.exe", "", "", 1
Else
Pm.ShellExecute "open", "#win:SysNative\cmd.exe", "", "", 1
End If
Otworzy lub zamknie okno klawiatury:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
if (Pm.WndOper(1, "Klawiatura na ekranie", 0))
{
Pm.WndOper(1, "Klawiatura na ekranie", 10);
}
else
{
Pm.ShellExecute("open", "#winsys:osk.exe", "", "", 1);
}
If Pm.WndOper(1, "Klawiatura na ekranie", 0) Then
Pm.WndOper 1, "Klawiatura na ekranie", 10
Else
Pm.ShellExecute "open", "#winsys:osk.exe", "", "", 1
End If
Otworzy lub ustawi na pierwszy plan okno klawiatury:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
if (Pm.WndOper(1, "Klawiatura na ekranie", 0))
{
Pm.WndOper(1, "Klawiatura na ekranie", 11);
}
else
{
Pm.ShellExecute("open", "#winsys:osk.exe", "", "", 1);
}
If Pm.WndOper(1, "Klawiatura na ekranie", 0) Then
Pm.WndOper 1, "Klawiatura na ekranie", 11
Else
Pm.ShellExecute "open", "#winsys:osk.exe", "", "", 1
End If
Notatka! Stwierdzono ograniczenie wysyłania powiadomień
Windows (
Pm.WndOper) z 32-bitowego programu do okna 64-bitowego programu, kiedy 32-bitowy program musiał zostać uruchomiony z uprawnieniami Administratora ("Uruchom jako administrator").