在Windows c + +禁用键盘?

我怎样才能完全禁用在Windows中使用c + +键盘? 我的意思是完全禁用,即使Ctrl + Alt + Delete也不起作用。 我确实考虑过使用键盘驱动程序,但是我认为安装后需要重新启动计算机,但是因为我只需要禁用它几分钟就不会有效。

这是不可能的。

WinLogon被设计为拦截Ctrl + Alt + Del键的一个进程,即使其他所有事情都挂起或死亡。 这是针对恶意会话的故障保护,所以没有明显的解决方法。

也许一个键盘过滤器驱动程序会使您的请求成为可能,但这是一个真正的内核驱动程序。

您不能在不移除键盘或更换键盘驱动程序的情况下禁用CtrlAltDelete ,它会生成内核级通知。

你可以使用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来过滤,但它可能工作。