Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Globaler Keyboard-Hook gilt nicht wenn Admin-Prozess Fokus hat?

  Alt 21. Mai 2015, 13:14
Folgendes Szenario:
  • Eine Kiosk-Anwendung läuft im Benutzerkontext (keine Adminrechte)
  • Die Anwendung ist Vollbild, auch bei angeschlossener Tastatur soll der Benutzer nicht Standard Tastenkombos wie ALT+TAB usw verwenden können
  • Dazu schiebt die Anwendung mittels SetWindowsHookEx(..) einen WH_KEYBOARD_LL -Hook ins System
. Dieser Hook unterbindet die weitere Verarbeitung von unerwünschten Tasten wie Windows, ALT+TAB, ...

Das funktioniert super. Leider haben wir ein paar Systeme ausgeliefert welche unter Windows das "On Screen Keyboard" aufrufen können wenn man an den Bildschirmrand patscht. Und diese Bildschirmtastatur ist von Windows anscheinend "blessed", läuft also mit Adminrechten. Das Problem hierbei: Drückt man auf der Bildschirmtastatur ALT+TAB, wird das vom Keyboard-Hook nicht mehr abgefangen.

Was kann ich tun? Das automatische Aufrufen der Bildschirmtastatur unterbinden, klar. Aber ginge statt langwieriger Windows-Konfiguration nicht auch eine elegantere Code-Anpassung?
  Mit Zitat antworten Zitat