winapi – 在Windows 7上禁用Ctrl Alt Del

我知道这个问题已经被几次和几种不同的方式问了.然而,在所有的问题和答案中,没有人能够完全回答我的情况…

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

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

由于我已经在其他问题上看到关于这个问题的意见:我确实相信这属于堆栈溢出.替换GINA是一个编程问题,没有理由假设这不会是.虽然我对非编程解决方案开放,我怀疑MS会在注册表等中提供这种更改.

除了 remapping/disabling keys之外,不可能在内核级代码之外禁止Ctrl Alt Delete处理.我认为这是Windows NT(和所有衍生物)的基本安全设计功能. (推理 here.)

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

> Keyboard Filter Driver for Windows Embedded Standard 7 – 由Elbacom
> Interception(source) – 用于截取输入设备通信的编程接口.
> Writing a keyboard device driver

特别是Elbacom博客的第一个链接可能是有用的,因为您还定位了嵌入式Windows 7.

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

作为一种可能的替代方案,考虑到虽然您无法禁用没有设备驱动程序/过滤器的Ctrl Alt Delete钩子,但是可以通过修改注册表或组策略编辑器来阻止通过该挂钩访问的所有任务.之前编辑的这个答案链接一个名为“Tweak Ctrl-Alt-Del选项”的实用程序,这使得它非常容易禁用通过Ctrl-Alt-Del访问的所有活动.该实用程序从原始来源不再可用,但仍然可以找到,还有其他类似的.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...