带有RIDEV_NOHOTKEYS的原始输入键盘会导致奇怪的行为

时间:2019-07-14 11:23:05

标签: windows winapi raw-input

当我注册Raw Input键盘设备并设置RIDEV_NOHOTKEYS标志时,如下所示:

RAWINPUTDEVICE device = {};
device.usUsagePage = 0x01;
device.usUsage = 0x06;
device.dwFlags = RIDEV_NOHOTKEYS;
device.hwndTarget = hwnd;

当我的窗口具有焦点时,左右窗口键会停止工作(它们不会调出开始菜单)。我能想到的所有其他热键仍然有效。 Alt-tab可以使用,但不会显示带有缩略图的“花式” alt-tab菜单,但会显示带有图标的旧的经典菜单:

classic alt-tab menu

在WM_INPUT消息处理中没有发生异常情况;我看一下结构,最后调用DefWindowProc。我也没有安装任何键盘钩或任何其他形式的输入。

根据文档,RIDEV_NOHOTKEYS应该仅影响应用程序定义的热键。即使我自己没有注册任何热键,这种情况也会发生,因此没有应用程序定义的热键,除非Windows本身注册了一些(但是,为什么它们不是系统热键?)。

有人对此有一些经验或解释的原因吗,以及如何预防的建议? (这是在Windows 10版本1803上)

0 个答案:

没有答案