我已經有一段時間了這個問題,但我必須糾正它,因爲我現在必須解決它。我試圖檢測設備何時連接到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. 如何使用JavaScript檢測iOS設備的系統語言?
- 5. 如何添加設備到Xcode設備?
- 6. 如何檢查設備是否連接到系統?
- 7. 如何將通知設置活動添加到系統設置
- 8. 如何將自己的設置添加到系統設置?
- 9. 只有當檢測到移動設備時添加href =「tel:」
- 10. 檢測項目何時添加到QTableWidget
- 11. 如何禁用系統設備?
- 12. 如何檢測系統中是否存在默認記錄設備?
- 13. 如何添加數據庫到設備?
- 14. 檢測設備何時開機
- 15. 如何檢查Flutter的設備操作系統版本?
- 16. 如何檢測操作系統
- 17. 如何檢測字節序的系統
- 18. 如何在TestFlight中將設備添加到內部測試儀?
- 19. 如何檢查新指紋是否已添加到設備?
- 20. 如何檢測系統時間小時的變化
- 21. Java:系統設備
- 22. Android設備旋轉時未檢測到
- 23. 通過HID設備檢測操作系統
- 24. 在node.js中檢測系統藍牙設備是否斷開
- 25. 如何檢測何時將行添加到MySQL數據庫?
- 26. SWT:如何檢測何時將CTabItem添加到CTabFolder?
- 27. jquery:如何檢測某些元素何時添加到dom?
- 28. 檢測Android設備上的USB設備何時分離
- 29. simulink如果子系統檢測到gcs
- 30. 如何在設備文件系統上加載apk並啓動