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
Tastenkombinationen wie Strg-Alt-Entf kann man nicht deaktivieren - aus gutem Grund.
Baka wa shinanakya naoranai.
Mein XING Profil.
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?
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
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
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.
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
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!
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
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!
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