在Windows 7上禁用Ctrl + Alt + Del

der*_*ral 15 winapi windows-7

我知道这个问题已被问过几次,并且有几种不同的方式.但是,在所有问题和答案中,根据我的情况,没有人能够完全回答......

我在医疗设备上工作,他们运行Windows.应用程序作为shell运行,用户不应该落后于应用程序,理想情况下,他们无法执行任何指示系统运行Windows的操作.必须访问全键盘才能禁用,损坏或重新映射密钥不是解决方案.鉴于此,我们需要在特定情况下禁用SAS/CAD/Ctrl + Alt + Delete; 还有其他一些,但这些很容易钩.

直到最近我们一直在使用Windows XP Embedded并且可能取代GINA,但我们即将切换到Windows 7(技术上是Windows Embedded Standard 7;但在我们的情况下它们基本相同)并且GINA不再是选项.必须有办法做到这一点.

由于我在其他问题上看到过关于此的评论:我确实认为这属于Stack Overflow.替换GINA是一个编程问题,没有理由认为这也不会.虽然我对非编程解决方案持开放态度,但我怀疑MS是否会在注册表等中提供此类更改.

kal*_*ech 18

除了重新映射/禁用密钥之外,不可能阻止Ctrl + Alt + Delete在内核级代码之外进行处理.我认为这是Windows NT(和所有衍生产品)的基本安全设计功能.(在这里推理.)

我建议编写自定义键盘过滤器或设备驱动程序(或者寻找现有的键盘过滤器或设备驱动程序).这不是一件容易的事,但可行.示例资源:

特别是第一个链接到Elbacom博客的链接可能很有用,因为您还将目标锁定在Windows 7上.

截取的第二个链接是更新的,也可能非常有用.它提供了内核级模块和抽象的一些处理.

作为一种可能的替代方案,请考虑虽然您无法在Ctrl + Alt + Delete没有设备驱动程序/过滤器的情况下禁用挂钩,但您可以阻止通过该挂钩访问的所有任务,每次更改注册表或使用组策略编辑器.此答案的先前编辑链接到名为"Tweak Ctrl-Alt-Del Options"的实用程序,该实用程序可以非常轻松地禁用通过Ctrl-Alt-Del访问的所有活动.原始来源不再提供该实用程序,但仍可查找,还有其他类似的实用程序.