【问题标题】:Can I tell from the contents of a WM_DEVICECHANGE messages which device it corresponds to?我可以从 WM_DEVICECHANGE 消息的内容中判断它对应于哪个设备吗?
【发布时间】:2011-06-15 14:58:43
【问题描述】:

我的应用程序需要检测插入/移除特定 USB 设备的时间。该设备公开了多个接口(串行端口、网络适配器等)。我可以捕捉到 WM_DEVICECHANGE 消息,但我在消息本身中看不到任何可以唯一标识我的设备的数据(而不是说,有人插入/移除了 USB 到串行适配器)。我错过了什么吗?

我知道我可以在收到事件时执行 WMI 查询,以查看我的设备是否存在,但我希望有一个更简单/更优雅的解决方案。

我尝试过执行 WMI“事件”查询(而不是捕获 WM_DEVICECHANGE),但显然我的设备不支持 WMI 事件。

【问题讨论】:

    标签: windows


    【解决方案1】:

    您需要在 WM_DEVICECHANGE 的 wParam 中检查 DBT_DEVICEARRIVAL。此时 lParam 将指向一个具有更多信息的DEV_BROADCAST_HDR 结构。

    【讨论】:

    • 这正是我想要的。谢谢!我会投票,但我是新手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多