Laden...

Tasten sperren??

Erstellt von X-Gamer vor 17 Jahren Letzter Beitrag vor 16 Jahren 12.838 Views
X
X-Gamer Themenstarter:in
63 Beiträge seit 2007
vor 17 Jahren
Tasten sperren??

Ich möchte ein Prog machen das im vollbild modus ausgefürht wird und ich will aber das die tasten ( windows taste, strg alt entf,alt f4) gesperrt werden!!

ich hab schon gesucht aber nichts gefunden!!!

Weiß vllt jemand wie das geh??

MfG X-Gamer

6.862 Beiträge seit 2003
vor 17 Jahren

Tastenkombinationen wie Strg-Alt-Entf kann man nicht deaktivieren - aus gutem Grund.

Baka wa shinanakya naoranai.

Mein XING Profil.

849 Beiträge seit 2006
vor 17 Jahren

Es gibt aber durchaus Gründe genau das zu tun zb. wenn bei Clientanwendungen wo der Benutzer nichts ausserhalb der Anwendung zu suchen hat. zb. Surfstations etc.

Würde mich auch interressieren. Jemand eine Idee?

C
401 Beiträge seit 2007
vor 17 Jahren

also bei programmen wie vnc geht es ja auch... wenn da jemand auf den rechner zugreift können sämtliche aktionen vom benutzer an der workstation geblockt werden... muss also irgendeine möglichkeit geben

X
X-Gamer Themenstarter:in
63 Beiträge seit 2007
vor 17 Jahren

Original von talla
Tastenkombinationen wie Strg-Alt-Entf kann man nicht deaktivieren - aus gutem Grund.

doch in vb ging es auch hab mal was gelesen drüber!!!

ich brauche es unbediengt!!! ich mache ein prog das den bildschrim füllt und das man es nicht schliessen kann!! man kann es nur mit nem button schließen!!!

mfg x-gamer

6.862 Beiträge seit 2003
vor 17 Jahren

Die alten VB Schnipsel benutzen meist ne Funktion die es nur unter Win9x gab, in den NT Systemen geht das nicht. Dort kann man höchstens durch die Sicherheitsrichtlinien verbieten das der Taskmanager gestartet wird. Aber die Tastenkombi Strg-Alt-Entf an sich lässt sich nicht abschalten, höchstens durch ne eigene Gina Dll. Okay, man könnte noch einen Tastaturfilter schreiben, das würde auch gehen, aber, das sind alles Dinge die nen gescheiter User nie nem Programm erlauben würde sowas auf seinem System zu tun.

Baka wa shinanakya naoranai.

Mein XING Profil.

S
322 Beiträge seit 2007
vor 16 Jahren

Hallo,

ich bin nun auch an dem Thema angelangt.

Ich habe auch schon gelesen dass man Str+Alt+Entf nicht 100%ig sperren kann.

Wie sieht es mit diesen aus:?
Alt+F4
Strg-Esc
Windows-Taste

Hat da jemand einen Tip parat? 🙂

Vielen Dank

Gruß
Steffen

EDIT:
ich hab diese Klasse nun für meine Bedürfnisse angepasst 😉http://www.codeproject.com/cs/system/CSLLKeyboard.asp

B
171 Beiträge seit 2007
vor 16 Jahren

Servus,

also prinzipiell ist sowas machbar. Ihr könnt das über sogenannte Windows Hooks
realisieren. In diesem Hook müsst ihr halt die nötigen Tastatur Ereignisse abfangen, bevor sie an das Betriebssystem gelangen.

Ist aber etwas heavy ...
Schaut euch mal den Begriff Hooks in der MSDNA an.

Aber so Sachen wie die WinTaste oder Strg-Esc etc. kann man damit abfangen,
nur nicht alle Tastenkombinationen, so wie talla das schon sagte.

Gruß
Budi

Nimm das Leben nicht zu ernst - denn du kommst nicht lebend raus!

S
322 Beiträge seit 2007
vor 16 Jahren

ja mit diesen Hooks funktionierts einwandfrei 😉
(Klasse siehe link oben)

ich hab nur noch den Taskmanager deaktiviert:


//Taskmanager deaktivieren
                regKey = Registry.CurrentUser.OpenSubKey(
                    @"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
                if (regKey == null)
                    regKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
                regKey.SetValue("DisableTaskMgr", 1, RegistryValueKind.DWord);

und dann wieder aktiviert falls sich ein Admin anmeldet


//TaskManager wieder aktivieren
        RegistryKey regKey = Registry.CurrentUser.OpenSubKey(
                    @"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
        if (regKey != null)
            regKey.SetValue("DisableTaskMgr", 0, RegistryValueKind.DWord);

Vielleicht braucht das jemand 😉

Gruß
Steffen

B
171 Beiträge seit 2007
vor 16 Jahren

Moin,

welche Tasten fängst du jetzt ab??

Deaktivierst du nur den Taskmanager oder fängst du auch die
Tasten ab ??

Gruß
Budi

Nimm das Leben nicht zu ernst - denn du kommst nicht lebend raus!

S
322 Beiträge seit 2007
vor 16 Jahren

Hallo,

ich habe diese klasse erweitert und noch den Parameter AllowOnlyAlphaNumeric hinzugefügt

und dann die HookCallback um eine Abfrage erweitert:


if (AllowOnlyAlphaNumeric)
                {
                    AllowKey = true;
                    //STRG+ESC
                    if (((NativeMethods.GetKeyState(VK_CONTROL) & 0x8000) != 0) && lParam.vkCode == VK_ESC)
                        AllowKey = false;
                    //ALT+ESC
                    if (((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_ESC)
                        AllowKey = false;
                    //ALT+TAB
                    if (((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_TAB)
                        AllowKey = false;
                    //ALT+F4
                    if (((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_F4)
                        AllowKey = false;
                    // left win und right win
                    if ((lParam.vkCode == 91) || (lParam.vkCode == 92))
                        AllowKey = false;
                    // STRG+ALT+ENTF
                    //if (((NativeMethods.GetKeyState(VK_CONTROL) & 0x8000) != 0) &&
                    //    ((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_DEL)
                    //    AllowKey = false;
                }

STRG+ALT+ENTF lässt sich so nicht abfangen, dass habe ich da zwar versucht, diese werden auch erkannt und versucht zu blocken, windows kriegt es aber dennoch mit... deshalb hab ich einfach nur den Taskmanager deaktiviert...
und am ende beim Dispose von der Klasse wieder aktiviert...

Gruß
Steffen