C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■103539 / )  USBポートのどの口にUSBメモリが挿入されたかを認識したい
□投稿者/ ぼーちゃん (1回)-(2025/02/13(Thu) 08:53:11)

分類:[C#] 

いつも参考にさせていただいております

Visual Studio Professional 2022
.NET Framework 4.8
C#
Windows10向け

◆やりたいこと
開発中のWinFormsアプリで、PCに複数あるUSBポートのどの口にUSBメモリが挿入されたかを認識したいです。
(XY問題かとも思い代案もユーザーへ提案したのですが、必須とのことで実装したく)

PCのあるUSBポートにUSBメモリを挿入した時「Port3に接続」とメッセージを出す
PCの別のUSBポートにUSBメモリを挿入した時「Port5に接続」とメッセージを出す
※ポート番号は例で、区別が出来ればよい


◆調べたこと
https://infinitegra.co.jp/blog/usb-device-tree-viewer/
このURLのツール(USB Device Tree Viewer)を使うとUSBルートハブ以下にPort1, Port2...とポートが列挙され、
この状態でUSBメモリを接続すると対応するPort以下のツリーにUSB情報が表示されます。
この情報をC#で取れればいいのですが・・・

https://www.projectgroup.info/tips/Microsoft.NET/comm_0013.html
こちらを参考にUSBメモリのデバイスIDなどは取得できているので、
同様にManagementObjectのPropertyの中に親ポートの情報が無いかと
色々検索しているのですが見つかっていない状況です。
方向性が間違っているでしょうか。取っ掛かりだけでもアドバイスを頂けると幸いです。
返信 編集キー/


管理者用

- Child Tree -