简体   繁体   中英

Disable Ctrl+Alt+Del Combination on windows7

I'm working on an app (Written in C#) that have a setting to run on KIOSK mode. I've just an challenge here which is disabling Ctrl + Alt + Del combination Event.

There is no right answer in the similar past posts. Please let me know about the right action. Considering, my code is working with registry keys to disable/enable options, if you know any registry key,it will be more helpful.

CTRL + ALT + DEL is the secure attention sequence of Windows NT (and its derivatives like Win7). It is the one key combination that is guaranteed to get the OS's attention. The whole point of the SAS is that it can't be intercepted or stopped by user programs.

One security issue it addresses is that of a false login screen: consider a screen that looks exactly like the normal Windows login screen. There's no way to tell that it's a fake just by looking at it. But, if you're in the habit of always pressing CTRL + ALT + DEL before logging in (there is an option to always require it for the legitimate screen), pressing the SAS on a false login screen will bring up task manager or the secure attention screen (with the log off, change password, etc options). The real login screen doesn't do that; it just stays there on the screen. As long as the OS itself isn't replaced or compromised, CTRL + ALT + DEL will protect you from false login screens. If a user program could intercept the SAS, it wouldn't be worth anything.

The SAS was baked into the Windows NT design right from the beginning (it was in the first release in 1993), so getting around it won't be easy. I'm sure there are keyboard filter drivers-- or something to intercept that sequence-- that are designed for kiosk use.

It is not possible to capture CTRL + ALT + DEL , it is so by design in all Windows systems. This is a security issue, if the user hits CTRL + ALT + DEL , he or she should be certain that it is the operating system and not some application (possibly a password-catching trojan) that responds to it.

I guess to capture CTRL + ALT + DEL you would need to write a device driver of some sorts.

Edit: Also see This answer . I did not try it, but the question is fairly similar.

Although it is sort of possible, it is not an easy task and not something that can be done in C#. This Article will show you how to disable CTRL + ALT + DEL using group policy editor. To permanently disable the combination though, you will either need to write your own keyboard driver or write your own GINA stub (Graphical Identification and Authentication).

It is possible to block CTRL + ALT + DEL combination. However, you can't really disable it. As far as I know, there are two possible methods.

  1. Remapping the keyboard layout. There is a registry binary key that allows you to remap keyboard layout:
HKLM\System\CurrentControlSet\Control\Keyboard Layout\Scancode Map

Please check this out: Disabling Windows Hot Keys

  1. This method can be dangerous, but I haven't noticed any side effects this method can cause. The CTRL + ALT + DEL combination is handled by winlogon.exe. If your process has administrative privilege, you can suspend winlogon.exe. Hence, it cannot process the hotkey and nothing will happen if the user presses CTRL + ALT + DEL .

Please check this out: C++ code to disable CTRL+ALT+DEL .

It is possible to pick up the CTRL + ALT + DEL combination, but not to disable it.
I tried to disable it with SetWindowsHookEx and WH_KEYBOARD_LL and you can successfully get notified when CTRL + ALT + DEL is pressed, but you cannot do anything about it.

You will need to do some P/Invoke, in user32.dll , there's a method called SystemParametersInfo , check out these resources for more info

http://pinvoke.net/search.aspx?search=SystemParametersInfo&namespace=[All]

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx

I did something similar a long while back, but no longer have the code, though I did find this (it's in vb6), but it shouldn't be too hard to get the idea and translate to .NET

http://www.developerfusion.com/code/1021/how-to-disable-ctrlaltdel/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM