I'm writing an employee login application where I of course don't want users messing with Windows while it is running; Therefore I need to disable ctrl+alt+del.
I've spent 2 hours now trying to figure out how to do this in C#. I've read from some people that I have to write my own version of GINA. I've also read about using WlxLoggedOnSAS to capture the ctrl+alt+del event.
Are these the best mothods for doing this If so how on earth can I accomplish this task
Thanks for the help :)

Disabling Ctrl + Alt + Del
shahram11
Lalitk
totally agreed with Tom, I was going to suggest this about the whole security approach but thought the original poster would have known. I'm sure there is a better way no doubt.
I guess one, perhaps bad approach, would be to give the user account guest/minimal priviledges so they dont do anything outside their scope on the computer system if this is a concern.
p4Pratik
Frankly, you shouldn't be attempting this at all. Ctrl-Alt-Delete is meant to be a secure path into the OS; when a user is entering their password, we need to guarantee that he is interacting only with the operating system. If another program could disable/intercept Ctrl-Alt-Delete, it would be trivial to steal passwords (among other malicious behavior).
Whatever you're trying to achieve, there's almost certainly a better way than attempting to subvert Ctrl-Alt-Delete. If you can provide more details, we may be able to suggest design alternatives.
-Tom Meschter
Software Dev, Visual C# IDE
DarthCoder
How about adjusting settings in the local security policy You should be able to disable things from there (i.e. prevent users from doing things you don't want them to do, even via task manager). There are also 3rd party software products that can put restrictions into place i do believe.
As others have said here, ctrl+alt+del is a system key combination and subverting it is getting into malware territory (it will not be documented anywhere, and if you do do it it could possibly be a violation of your windows license, additionally it'd probably be incredibly difficult as you'd have to hook system calls and the like).
jchohio
Maybe you can use the following source code as an example to the capture Ctrl+Alt+Del warm boot sequence:
Ctrl2cap v2.0
This is a kernel-mode driver that demonstrates keyboard input filtering just above the keyboard class driver in order to turn caps-locks into control keys. Filtering at this level allows conversion and hiding of keys before NT even "sees" them. Full source is included. Ctrl2cap also shows how to use NtDisplayString() to print messages to the initialization blue-screen.
slishnevsky
The main problem is that this biometrics system is something we are selling as part of our system to our customers. I don't really want to have to worry about setting up permissions on client machines. Doing that does sound like a pretty good solution though. Maybe I'll just do that....
I do know it is possible to disable ctrl+alt+del though :)
Thanks
rileyt
stswordman
Brandon Tucker
>> I'm not at all concerned with the 'security issues' related with disabling ctrl+alt+del.
You might not be concerned, but other people are, and Microsoft have to be. They aren't going to open a security hole in their system just because you promise not to expliot it.
You may see your request as putting the key to your front door under the welcome mat, but you are actually request that they stop selling door with locks.
mpswaim
Try this:
Use a KEYUP event or a TIMER_TICK event:
if (e.KeyCode == Keys.Control)
{
if (e.KeyCode == Keys.Alt)
{
if (e.KeyCode == Keys.Delete)
{
CancelEventArgs cancel = new CancelEventArgs(true);
}
}
}
Does this do it with KEYUP I haven't tried it yet.