C# 禁用Ctrl+;Alt+;windows7上的Del组合

C# 禁用Ctrl+;Alt+;windows7上的Del组合,c#,windows-7,C#,Windows 7,我正在开发一个应用程序(用C#编写),它有一个在KIOSK模式下运行的设置。我这里有一个挑战,就是禁用Ctrl+Alt+Del组合事件 在过去类似的帖子中没有正确的答案。请让我知道正确的行动。 考虑到,我的代码正在使用注册表项来禁用/启用选项,如果您知道任何注册表项,它将更有帮助。CTRL+ALT+DEL是Windows NT(及其类似Win7的衍生产品)的基础。这是确保获得操作系统关注的一键组合。SAS的全部要点是它不能被用户程序截获或阻止 一个安全问题是一个错误的登录屏幕:考虑一个与普通Wi

我正在开发一个应用程序(用C#编写),它有一个在KIOSK模式下运行的设置。我这里有一个挑战,就是禁用Ctrl+Alt+Del组合事件

在过去类似的帖子中没有正确的答案。请让我知道正确的行动。 考虑到,我的代码正在使用注册表项来禁用/启用选项,如果您知道任何注册表项,它将更有帮助。

CTRL+ALT+DEL是Windows NT(及其类似Win7的衍生产品)的基础。这是确保获得操作系统关注的一键组合。SAS的全部要点是它不能被用户程序截获或阻止

一个安全问题是一个错误的登录屏幕:考虑一个与普通Windows登录屏幕完全一样的屏幕。光看一眼是看不出是假的。但是,如果您习惯于在登录之前始终按CTRL+ALT+DEL(对于合法屏幕,有一个选项始终需要它),则在错误登录屏幕上按SAS将打开任务管理器或安全注意屏幕(带有注销、更改密码等选项)。真正的登录屏幕不会这样做;它只是停留在屏幕上。只要操作系统本身没有被替换或损坏,CTRL+ALT+DEL将保护您免受错误登录屏幕的影响。如果一个用户程序能够拦截SAS,那就一文不值了


SAS从一开始就融入了WindowsNT的设计中(它在1993年的第一个版本中),所以要绕过它并不容易。我肯定有键盘过滤驱动程序——或者截取该序列的东西——是为kiosk使用而设计的。

不可能捕获CTRL+ALT+DEL,所有Windows系统都是这样设计的。这是一个安全问题,如果用户点击CTRL+ALT+DEL,他或她应该确定响应它的是操作系统,而不是某个应用程序(可能是密码捕获特洛伊木马)

我猜要捕获CTRL+ALT+DEL,您需要编写某种类型的设备驱动程序


编辑:另请参见。我没有试过,但问题很相似。

可以选择CTRL+ALT+DEL组合,但不能禁用它。

我试图用
SetWindowsHookEx
WH\u-KEYBOARD\u-LL
禁用它,当按下CTRL+ALT+DEL时,您可以成功地得到通知,但您对此无能为力。

您需要执行一些p/Invoke操作,在user32.dll中,有一个名为
systemparameters-sinfo
的方法,查看这些资源以获取更多信息

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

很久以前我也做过类似的事情,但现在已经没有代码了,虽然我确实找到了(它在vb6中),但要得到这个想法并将其翻译成.NET应该不会太难


虽然这有点可能,但这不是一项容易的任务,也不是用C#可以完成的事情。将向您展示如何使用组策略编辑器禁用CTRL+ALT+DEL。但要永久禁用该组合,您需要编写自己的键盘驱动程序或编写自己的GINA存根(图形标识和身份验证)

可以阻止CTRL+ALT+DEL组合。但是,您不能真正禁用它。据我所知,有两种可能的方法

  • 重新映射键盘布局。有一个注册表二进制键,允许您重新映射键盘布局:
  • 请查看以下内容:

  • 这种方法可能是危险的,但我没有注意到这种方法会引起任何副作用。CTRL+ALT+DEL组合由winlogon.exe处理。如果进程具有管理权限,则可以挂起winlogon.exe。因此,它无法处理热键,如果用户按CTRL+ALT+DEL,则不会发生任何事情

  • 请检查此项:。

    可能重复如果它处于Kiosk模式,您不能确保提供的硬件缺少一个或所有Ctrl、Alt或Del键(假设有键盘)@RichardEv,我没有完全了解它亲爱的Richard,但如果您的目标是禁用硬件或类似的东西,则不可能。如果你的目标是减少键盘的使用,那就不可能了。@Jason Evans,到Q#4234242的链接可能会起作用,因为它涉及到在操作系统改变语义处理键之前重新映射键。另一个涉及全局钩子的方法不起作用。迪特·史密斯,我的重点不是登录屏幕。在windows7运行时,如果按Ctrl+Alt+Del,您将看到一个屏幕,允许您登录、锁定计算机、更改密码等。。。。我想禁用此选项如果有人在播种一个错误的登录屏幕,而你点击CTRL+ALT+DEL,它将显示注销、锁定等屏幕,而不是停留在那里。这样你就会知道假屏幕是假的。如果一个程序能够阻止这种情况发生,你就无法区分假登录屏幕和真登录屏幕。我敢肯定,组策略会更改注册表项。但是我找不到正确的密钥来处理。HKCU\Software\Microsoft\Windows\CurrentVersion\Policys\System\DisableTaskMgr=dword:1
    HKLM\System\CurrentControlSet\Control\Keyboard Layout\Scancode Map