STRG + ALT + ENTF deaktivieren

DfAce
Also ich wollte nun mal eine endgültige Antwort, auf die Frage aller Fragen kann man STRG + ALT + ENTF deaktiveren (WinXP,W2k) oder geht das nur unter Win9x??
daHooligan
also so weit ich weiß gehts unter W2k/XP net...

vgl aber:
http://www.schmittis-page.de/index.html?/vb/t2.htm

bzw.

DfAce
dass es unter win9x geht war mir schon klar,
aber ich suche immer noch nach einer Umsetzung für XP.
das muss doch irgendwie gehen ??
perle
ja es geht, allerdings ist es nichtmehr so einfach wie es früher einmal war.....

Die leichteste Methode ist wohl den Taskmanager einmal mit SW_HIDE zu starten, und das Symbol aus der TNA zu löschen. Der User weiss also garnicht, dass der TM schon läuft.
Wenn er jetzt strg+alt+entf drückt, dann passiert nichts, da der Taskmanager ja schon läuft. Das schöne dabei ist, es kommt weder eine Meldung dass er schon läuft noch wird der schon aktivierte TM sichtbar.

Allerdings kann das ganze umgangen werden, denn wenn man strg+alt+entf und sofort darauf alt+f4 drückt, dann wird der unsichtbare TM beendet und man kann ihn wieder wie gewohnt öffnen. Um dieses Problem zu lösen könntest du entweder einen globalen Hook schreiben, der die Kombination alt + f4 abfängt oder du deklarierst einen globalen Hotkey der dann die alte Funktionalität überschreibt.

eine zweite Möglichkeit mit der ich mal rumexperimentiert habe ist ein Mutex anzulegen, der die gleiche Bezeichnung hat, wie der Taskmanager, sodass Windows glaubt, dass er schon gestartet ist, obwohl es in wirklich mein Programm war.....allerdings hat der TM einen Timeout integriert und startet dann trotzdem, allerdings etwa nach 12 Sekunden erst.

Du könntest natürlich auch in bestimmten Absänden abfragen ob der TM läuft und den dann wieder schließen.

-----------------------

Dies ist allerdings nichts halbes und nichts ganzes.
Die einzigen , einigermaßen sicheren Methoden sind einen Tastaturtreiber zu schreiben, der generell diese KOmbination nicht unterstützt. Wenn du aber Anfänger in c++ bist kannste das gleich vergessen.
Die zweite Möglichkeit ist den Taskmanager über die bei WinNT enthaltenen Policies ausschalten kannst (also über die Registry) - Der Anwender bekommt dann allerdings eine Meldung "Der Taskmanger wurde vom Administrator deaktiviert"

Die letzte sehr sichere Möglichkeit ist, die GINA (das ist Microsofts LogOn Service) zu ersetzen, sodass der Thread , der überwacht, ob diese Kombination gedrückt wurde garnicht erst gestartet ist..



Wie du siehst gibt es viele Möglichkeiten smile Ich habe bisher immer die Letzte bevorzugt oder , wenns schnell gehen sollte , die erste.


Hier haste mal ein Beispielprojekt wo ich beide Methoden verwendet habe.

http://www.pearl-soft.de/Dateien/Programme/ES%20Lock.rar