我正在编写一个在启动时进行碎片整理的应用程序。但是,问题是在启动时监视器启动并出现黑屏,按下时它对任何键盘键都没有响应?
我的代码是这样的:
- 我将 NtCreateFile 调用到对象“Device\KeyboardClass0”,它成功返回并带有对象的句柄。
- 然后我用 NtCreateEvent 创建事件并成功返回。
- 然后我用句柄和事件调用 NtReadFile。
- 然后我在 NtWaitForSingleObject 上等待事件在有要阅读的内容时向我发出信号。
- 当我收到信号时,我将读取用户按下的键。
问题是从未达到第 5 步,我正在按下 USB 键盘键,但没有任何反应,就好像没有按下键盘一样。
相同的代码适用于 PS/2 键盘,但使用 USB 键盘我什么也看不懂。