在windows c++;? 如何在Windows中完全禁用C++的键盘?我所说的完全禁用是指即使是Ctrl+Alt+Delete也不能工作。我确实考虑过使用键盘驱动程序,但我认为在安装计算机后需要重新启动计算机,但因为我只需要在几分钟内禁用它,否则它就不能正常工作。p>

在windows c++;? 如何在Windows中完全禁用C++的键盘?我所说的完全禁用是指即使是Ctrl+Alt+Delete也不能工作。我确实考虑过使用键盘驱动程序,但我认为在安装计算机后需要重新启动计算机,但因为我只需要在几分钟内禁用它,否则它就不能正常工作。p>,c++,windows,keyboard,C++,Windows,Keyboard,如果不删除键盘或更换键盘驱动程序,就无法禁用Ctrl-Alt-Delete,它会生成内核级通知。这实际上是不可能的 WinLogon被设计为一个进程,它可以拦截Ctrl+Alt+Del键的按下,即使在所有其他东西挂起或挂断时也是如此。 这是针对恶意会话等的故障保护,因此没有明显的解决方法 也许键盘过滤器驱动程序会使您的请求成为可能,但这是一个真正的内核驱动程序。您可以安装键盘挂钩并过滤掉消息,但您可能需要将应用程序作为最上面的窗口。即使这样,Ctrl+Alt+Del也不会被过滤掉 这是关于MSD

如果不删除键盘或更换键盘驱动程序,就无法禁用Ctrl-Alt-Delete,它会生成内核级通知。

这实际上是不可能的

WinLogon被设计为一个进程,它可以拦截Ctrl+Alt+Del键的按下,即使在所有其他东西挂起或挂断时也是如此。 这是针对恶意会话等的故障保护,因此没有明显的解决方法


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

您可以安装键盘挂钩并过滤掉消息,但您可能需要将应用程序作为最上面的窗口。即使这样,Ctrl+Alt+Del也不会被过滤掉

这是关于MSDN的


您可以使用函数的示例。但它不会阻止CTRL+ALT+DEL。

好的,下面是一些随机建议。我没有一个明确的答案,但我从这里开始:

1) SetupDiRemoveDevice可能就是您想要调用的API。尽管要调用它,您还需要进行许多其他设备枚举调用。列举HID和USB设备并找到键盘。首先查找启动器的实际设备的VID/PID

2) 删除驱动程序kdbclass.sys和kbdhid.sys。为此,您将与Windows系统文件进行斗争。我不知道这是否有效,但听起来有趣而简单


3) 编写一个USB过滤器驱动程序。您的驱动程序需要知道(或被传递)要过滤的设备的vid/pid,但它可能会工作。

如果您想暂时禁用Ctrl+Alt+Del,我建议您先使用SuspendThread()然后从processthreadsapi.h恢复Thread(),暂停winlogon(ofc,您必须是管理员,这很烦人)

为什么您认为需要这样做?