我怎样才能完全禁用在Windows中使用c + +的键盘? 我的意思是完全禁用,即使Ctrl + Alt + Delete也不起作用。 我确实考虑过使用键盘驱动程序,但是我认为安装后需要重新启动计算机,但是因为我只需要禁用它几分钟就不会有效。
这是不可能的。
WinLogon被设计为拦截Ctrl + Alt + Del键的一个进程,即使其他所有事情都挂起或死亡。 这是针对恶意会话的故障保护,所以没有明显的解决方法。
也许一个键盘过滤器驱动程序会使您的请求成为可能,但这是一个真正的内核驱动程序。
您不能在不移除键盘或更换键盘驱动程序的情况下禁用Ctrl – Alt – Delete ,它会生成内核级通知。
你可以使用BlockInput函数。 但它不会阻止CTRL + ALT + DEL 。
您可以安装键盘钩子并过滤掉消息,但是您可能需要将应用程序作为最顶层的窗口。 即使这样Ctrl + Alt + Del也不会被过滤掉。
这里是MSDN上的SetWindowsHookEx
钩住键盘的示例
好的,这里有几个随机的建议。 我没有一个确定的答案,但是这里是我要开始的地方:
1)SetupDiRemoveDevice可能是你想调用的API。 虽然要调用它,但还需要进行大量的其他设备枚举调用。 枚举您的HID和USB设备并找到键盘。 首先查找启动器的实际设备的VID / PID。
2)删除驱动程序kdbclass.sys和kbdhid.sys。 你将与Windows系统文件来做到这一点。 我不知道这是否会奏效,但听起来很有趣,很简单。
3)写一个USB过滤器驱动程序。 您的驱动程序需要知道(或传递)设备的vid / pid来过滤,但它可能工作。