TV が HDMI ケーブル経由でラップトップに接続されていることを検出しようとしています。WinAPI 関数RegisterDeviceNotification()
を使用してデバイス メッセージを処理しています。
TV をラップトップに (HDMI ケーブル経由で) 接続すると、WM_DEVICE_ARRIVAL メッセージが表示されず、WM_DEVICE_CHANGE イベントが 3 つしか表示されません。これは正常ですか?
lParam(またはwParam、忘れました)には、接続されているデバイスのタイプとデバイス名を通知する構造が含まれているため、WM_DEVICE_ARRIVALイベントが本当に必要です。ただし、WM_DEVICE_CHANGEイベントにはこの構造が含まれていません。
HDMI ポートの挿入時に WM_DEVICE_ARRIVAL メッセージを受信しないのが通常の場合、接続時にデバイス名とタイプを特定するために使用できる他の方法はありますか?
私の唯一のアイデアは、アプリケーションの起動時にすべてのデバイスをリストし、デバイス接続時に WM_DEVICE_CHANGE イベントに反応して、デバイスのリストが増加したかどうかを確認することです。