我正在尝试检测我的电视何时通过 HDMI 电缆连接到我的笔记本电脑。我正在使用 WinAPI 函数RegisterDeviceNotification()
来处理设备消息。
当我将电视连接到笔记本电脑(通过 HDMI 电缆)时,我从未收到 WM_DEVICE_ARRIVAL 消息,只有 3 个 WM_DEVICE_CHANGE 事件。这是正常的吗?
我真的需要 WM_DEVICE_ARRIVAL 事件,因为 lParam(或 wParam,我忘记了)包含一个结构,它告诉我连接的设备类型和设备名称,而,afaik,WM_DEVICE_CHANGE 事件不包含这个结构。
如果在 HDMI 端口插入时没有收到 WM_DEVICE_ARRIVAL 消息是正常的,我可以使用什么其他方法来确定设备连接时的名称和类型?
我唯一的想法是:在应用程序启动时列出所有设备,在设备连接时对 WM_DEVICE_CHANGE 事件做出反应,看看设备列表是否增加了。