使用LowLevelKeyboardHook的热键 - 清除缓冲区

时间:2016-12-21 09:17:54

标签: winapi

我以前使用RegisterHotkey方法,但用户根据键盘遇到了问题。例如,在关注命令提示符时,热键不起作用。或者,如果重点关注 ctrl + alt + del 对话框。 LowLevelKeyboardHook统一适用于所有用户。

我有修改器的问题。例如,如果热键是 Win + F 。如果用户第一次:

  1. 缩小 Win ,我允许它
  2. 然后按下 F 键,我阻止它
  3. 如果用户使用 F 键,那么我也会阻止它
  4. 但是,在 Win 键的上方,它会通过,并且开始菜单会打开
  5. 我尝试在步骤4中阻止 Win 键。但是这会导致它在键盘缓冲区中保持按下状态(例如按 L 将锁定计算机)。 /> 有没有办法清除键盘缓冲区?
    我想要阻止up,但是在释放所有键之后,然后清除缓冲区。

    我尝试了the method from this SO answer,但它没有效果:

    #include <conio.h>
    while (_kbhit()) {
        _getche();
    }
    

0 个答案:

没有答案