2011-03-15 189 views
3

如何从RegisterRawInputDevices()取消注册?WinAPI |取消注册RawInputDevice

+0

终止程序。或者开始忽略WM_INPUT。 – 2011-03-15 15:32:19

+0

这是没有选择。我需要获得在我想观察的不同设备之间切换的可能性。因此,应用程序运行的时间越长,越多的设备将被注册到我的窗口。没有其他办法吗? – 0xbadf00d 2011-03-15 15:37:56

回答

4

快速查看documentation表明,您可以通过RAWINPUTDEVICE结构中的RIDEV_REMOVE标志调用RegisterRawInputDevices取得一些进展。至少,那是我开始的地方。

+1

感谢您的回答。但RIDEV_REMOVE不是我要找的。 MSDN:“这告诉操作系统停止从设备读取”。 – 0xbadf00d 2011-03-16 07:20:30

+2

@ FrEEzE2046:我可以从文档和MSDN论坛上的一些聊天中收集到什么样的信息,表明这确实是一条路。 “RIDEV_REMOVE”极不可能导致操作系统停止从设备读取数据。这可能是一个文档错误,应该说它会停止向设备发送消息。它看起来像使用'RIDEV_REMOVE'和'hwnd'参数为null注销您的注册。 – 2011-03-16 16:28:52