2009-05-31 14 views
3

Windowsプラットフォームに関しては、USBドライブやあらゆるタイプのポータブルメディアが接続されたときに私が探すことができるイベントですか?C/C++ USBドライブイベント

答えて

5

最初に登録しなければ通知はありません。これを行うにはRegisterDeviceNotification()を使用してください。

このような通知を受け取るようにウィンドウを登録したら、WM_DEVICECHANGEメッセージを処理します。

+0

これが唯一の方法ですか? –

+0

私が知っている唯一の方法です。 – Stefan

+0

-1は必要ないため動作しません。リンクされたMSDNの記事を引用する:「ボリューム通知はトップレベルのウィンドウにブロードキャストされるため、dbch_devicetypeがDBT_DEVTYP_VOLUMEの場合、関数は失敗します。 USBドライブ(Mass Storageプロファイルを実装)はボリュームです。 – MSalters