Canvas not supported
Canvas not supported
Suchen
Bookmark
Canvas not supported
Shine Effekt
Direkt zum Seiteninhalt

Hauptmenü:

Eingabe blockieren

 

Autor:

Oscar Kohler

Version:

0.11

Level:

Einfach

Sprache:

C/C++


 
Haftungsausschluss / Disclaimer
Kontakt / Contact
Drucken / Print


Warum die Eingabe sperren ?


Wieder einmal sollte auf den Clients ein wichtiges Update schnellstmöglich eingespielt werden. Leider kann dies nicht immer über einen Hintergrundservice erfolgen, sondern muss manchmal im Vordergrund, dh. direkt vor den Augen des Benutzers, geschehen.

Das unangenehme daran ist, dass der Benutzer nun in das Geschehen eingreifen kann, und leider meist aus Ungeduld, dies auch wirklich gerne macht ...
Die Installation wird dann wohl eher nicht von Erfolg gekrönt sein ...

Wie kann man nun das Update vor solchen Aktionen schützen ?

Hierzu bieten sich verschiedene Lösungsansätze an ...


Manche Setups bieten einen "Silent" Mode, der z.B.: den "Abbrechen" - Button einfach deaktiviert,

  • Möglich wäre auch ein Fullscreen-Splash-Window das den Focus an sich reisst und die dahinter liegenden Programme somit nicht bedient werden können,

  • Weiters könnte ein Hook installiert werden, der sowohl die Mauseingabe, wie auch die Tastatureingabe unterbindet,

  • u.s.w.


Bei diesen Lösungsansätzen ist man entweder auf den Hersteller des Setups angewiesen, oder sie sind einfach ziemlich kompliziert, zudem besteht dann leider immer noch die Möglichkeit, das Setup mit dem Taskmanager oder einem Taskkill zu beenden ...

Eingaben sperren mit BlockInput


Eine recht unkomplizierte Lösung bietet hier eine Microsoft Api mit dem Namen: "BlockInput". Der Aufruf dieser Funktion blockiert die Eingabe der Tastatur und Maus:

MSDN: Beschreibung Blockinput



// Beispiel C/C++

#include <WinUser.h>
#include <WinAble.h>

// Blockieren
BlockInput (true);

...

// Freigeben
BlockInput (false);

...


Weitere Einsatzmöglichkeiten wie z.B.: Scriptabläufe, Schutz des Desktops, u.s.w. bieten sich ebenfalls an.


Zu beachten bei BlockInput ...


Diese Funktion arbeitet leider nicht mit allen Programmen zusammen. Programme die beispielsweise Message-Funktionen wie z.B.: "SendKey" verwenden funktionieren nicht, da "BlockInput" in das Windows-Messaging eingreift. Bei Installationen die mit AutoIt oder ähnlichen Programmen durchgeführt werden, muss daher zuvor die Blockierung beendet werden.


Ab Windows Vista muss zusätzlich beachtet werden, dass für diesen Befehl erweiterte Benutzer-Rechte benötigt werden.

Unterbrechen lässt sich die Blockierung auch mit der "SAS" Tastenkombination (Alt-Ctrl-Entf) ... glücklicherweise ist es jedoch möglich, die "Blockinput-Funktion" in Intervallen aufzurufen ...


 
Kein Kommentar
 
Letzte Änderung: 03.02.2015
button Canvas not supported button
Zurück zum Seiteninhalt | Zurück zum Hauptmenü