我已经有一段时间了这个问题,但我必须纠正它,因为我现在必须解决它。我试图检测设备何时连接到Windows 7系统,我收到WM_DEVICECHANGE就好了,但wParam中的消息总是DBT_DEVNODES_CHANGED。从来没有DBT_DEVICEARRIVAL或DBT_DEVICEREMOVECOMPLETE。我到目前为止没有运气Google搜索,所以我希望有人会指出我在正确的方向,然后在几个小时内找到东西:) 感谢雅时间。如何检测设备何时添加到系统?
回答
该文档指出应默认接收DBT_DEVICEARRIVAL和DBT_DEVICEREMOVECOMPLETE事件。应用程序可以通过调用RegisterDeviceNotification函数来注册以接收更多详细的事件。希望您在注册您的应用程序后会收到您需要的事件。一定要在关闭时调用UnregisterDeviceNotification。
RegisterDeviceNotification参考:
http://msdn.microsoft.com/en-us/library/aa363431%28v=VS.85%29.aspx
P /调用签名:
http://pinvoke.net/default.aspx/user32.RegisterDeviceNotification
UnregisterDeviceNotification参考:
http://msdn.microsoft.com/en-us/library/aa363475%28v=VS.85%29.aspx
的P/Invoke签名:
http://pinvoke.net/default.aspx/user32.UnregisterDeviceNotification
非常感谢弗莱彻。我已经成功为Qt4做这个工作。 Qt4的(.6.3)用户可以添加#include
文件作为正常的,但你将需要一些#defines
添加到您的.h文件中:
#define _WIN32_WINNT 0x0501
#define _WIN32_WINDOWS 0x0501
#define WINVER 0x0501
,使窗户的数据类型,如DEV_BROADCAST_HEADER
可以识别。此外,我猜的版本号取决于你的Windows平台,但不知道(我使用win 7 atm)。 如果您安装在默认位置,那么请不要忘记将库添加到.pro文件中 LIBS += "C:\Qt\2010.04\mingw\lib\<library_file>"
。
- 1. 如何检测连接到系统的设备何时可以使用?
- 2. 如何检测系统信息,如操作系统或设备类型
- 3. Robovm/LibGDX - 如何检测设备系列?
- 4. 如何添加设备到Xcode设备?
- 5. 如何检查设备是否连接到系统?
- 6. 如何将通知设置活动添加到系统设置
- 7. 检测项目何时添加到QTableWidget
- 8. 如何禁用系统设备?
- 9. 如何添加数据库到设备?
- 10. 如何检测系统中是否存在默认记录设备?
- 11. 如何检查Flutter的设备操作系统版本?
- 12. 如何在TestFlight中将设备添加到内部测试仪?
- 13. 如何检测字节序的系统
- 14. 如何检查新指纹是否已添加到设备?
- 15. Java:系统设备
- 16. Android设备旋转时未检测到
- 17. 如何检测系统时间小时的变化
- 18. 在node.js中检测系统蓝牙设备是否断开
- 19. 通过HID设备检测操作系统
- 20. jquery:如何检测某些元素何时添加到dom?
- 21. 如何检测何时将行添加到MySQL数据库?
- 22. 如何在设备文件系统上加载apk并启动
- 23. 无法添加设备ios 4.2.1 xcode 4“未知ios检测到”
- 24. Javascript - 如何设置碰撞检测系统?
- 25. 如何检测设备的移动?
- 26. 如何检测设备中的A-GPS?
- 27. 如何检测设备的时间设置?
- 28. 如何更改Java ME设备系统时间?
- 29. 如何检测音频设备何时插入和拔出?
- 30. 如何检测何时在触摸设备上显示键盘?