VB2008でUSBが接続されたことを取得する。

解決


とも〜。  2009-07-10 06:32:35  No: 142190

お世話になっています。
VB2008で作成したアプリケーションを動作させておき、
USBが接続されたらアナウンスを出すようにしたいのですが
できますでしょうか?


魔界の仮面弁士  2009-07-10 07:02:45  No: 142191

Win32_USBControllerDevice / Win32_PnPEntity クラスあたりから検出できるかも知れません。
「扇風機」「充電器」などといった、電源供給のみのデバイスだと反応しないかも知れませんが…。


オショウ  2009-07-10 08:52:36  No: 142192

簡単に行いたいのであれば、魔界の仮面弁士さんのカキコの通り
WMIで監視する方法もありますが、WndProcに飛びこんでくるメッ
セージででも監視できます。

WndProc オーバーライドして・・・
m.Msg = WM_DEVICECHANGE
m.WParam.ToInt32() = DBT_DEVICEARRIVAL        <= USBにデバイスを刺した
m.WParam.ToInt32() = DBT_DEVICEREMOVECOMPLETE <= USBのデバイスを抜いた

Private const WM_DEVICECHANGE As Integer = &h0219
Private const DBT_DEVICEARRIVAL As Integer = &h8000
Private const DBT_DEVICEREMOVECOMPLETE As Integer = &h8004

※  どんなデバイスかは、調べてみて下さい。

以上。参考まで


とも〜。  2009-07-17 06:28:14  No: 142193

オショウさん、魔界の仮面弁士さんありがとうございました!
オショウさんの方法でうまく解決しました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加