1

我的硬件有问题,它不时发送一个“keydown”,然后是一个“keyup”事件:

keydown:无 LButton,OemClear 255

键控:无 LButton,OemClear 255

keydown:无 LButton,OemClear 255

键控:无 LButton,OemClear 255

在 Windows 中,每隔 1 秒或 2 秒,永远都是这样。

一般来说,它不会影响大多数应用程序,因为这个键是不可打印的。我认为这是一个特殊的功能键,例如媒体键或其他东西。它什么也没做。

但是,在一些听 keydown 和 keyup 的应用程序中,我得到了意想不到的行为。

问题:有没有办法在 Windows 中拦截这 2 个键盘事件(适用于所有应用程序和 Windows 本身)并使操作系统忽略它们?

这对我来说真的很重要,如果您能想到任何解决方案,我将永远感激不尽。

4

1 回答 1

1

您可以编写一个小应用程序,使用RegisterHotKey将该击键注册为系统范围的热键。然后 Windows 会将该击键转换为 WM_HOTKEY 消息到您的应用程序窗口。

这将导致您的应用程序每秒运行一次代码,这不是很理想,但它可能比替代方案更好。

窗口句柄需要属于您的应用程序,但它不必可见或很大。热键是全局的,所以有点像在键盘和其他应用程序之间安装一个挂钩。

于 2010-03-18T22:16:11.850 回答