Tastatur sperren in C#?
Hi Community,
bei mir in der Schule haben die Lehrer die Möglichkeit alle PCs so zu sperren,dass sämtliche Eingabegeräte gesperrt werden...und da hab ich mich jetzt halt gefragt wie so was geht....Also hab ich ne einfache Windows Forms Anwendung geschrieben und wollte sie dann so einstellen, dass der Nutzer in das Textfeld nichts eintragen kann...
Jetzt hab ich ein bisschen gegoogelt und herausgefunden,dass man das über "hooks" machen kann. Wie diese "hooks" aber funktionieren versteh ich leider nicht.Ich habe erst sein einem halben Jahr Informatik...Deshalb meine Frage:
Ist es möglich in einer Windows Forms Anwendung C# Tasteneingaben/Tastenkombis komplett zu sperren und wenn ja, wie baut man das in eine Windows Forms Anwendung ein?
PS: Kann sowas nicht auch gefährlich sein,bei nem Programm wo dann zum Beispiel nicht mehr über den Task Manager beendbar ist?
Danke schonmal für alle Antworten^^
2 Antworten
WinApi Hooks - ja geht darüber und das ist weit von "einfach" entfernt.
In Schulen wird's aber vermutlich durch Hardware unterstützt, also kein normales Programm.
Die WinApi ist die API von Windows.
Und Hooks (such danach) sind Möglichkeiten, mit denen Du dich in Windows-Messages einhängen und darauf reagieren kannst.
Allerdings kann man damit auch die Stabilität vom Windows gefährden, zumindest solange, bis Windows die Faxen dicke hat und dein Programm nicht mehr informiert.
Danke für deine Antwort^^ Ist auf der Seite nur in C++ dargestellt und ich nutz C#^_^
Geht auch mit C#, nennt sich P/Invoke
C++ musst Du natürlich trotzdem zumindest grob verstehen, da Du die Definitionen und Typen marshallen musst.
Die Win32-API kannst du aus C# heraus aufrufen. Ein Artikel dazu: Working with Win32-API in NET. Die in der Antwort verlinkte Dokumentation wirst du also auch brauchen.
Danke^^Hab beim googeln auch gemerkt, dass das "nicht ganz so einfach ist😂"
Was genau ist n WinApi hook und kann man den in c# einbauen(sorry wenn s ne doofe Frage ist,ich hab absolut keinen Plan :) )