2011-01-29 52 views
5

USBデバイスがコンピュータに接続されている場合、C#コードを使用して接続されているPORT名を取得するにはどうすればよいですか。 USBが接続、切断、ドライブ文字、パス、デバイスIDなどを検出する方法はたくさんありましたが、接続されているポートを知る方法を明確にしていませんでした。私は1つの可能な説明を見ましたが、それは私が完全に理解できないピンボケをたくさん含んでいます。 私は、管理されていないコードを使用せずに、C#だけでそのような情報を得るより直接的かつ簡単な方法があると思っています。接続されたUSBデバイスのポート名の取得

+0

です手動で選択します。私は特定のUSBが接続されているCOMポートを取得したいだけです(COMポートを取得している、USBデバイスIDで検索している可能性があります)。 – Zerone

答えて

9

USBポートには名前がありません。それはバスなので、どのコネクターを使うかは関係ありません。ちょうどそれはあなたがマシンの中のバスのカードをどこに差し込むかは関係ありません。

ドライバがシリアルポート(「COM5」など)をエミュレートするUSB​​デバイスについてよく話している場合は、かなり一般的ですが、Win32_SerialPortクラスのWMIクエリからドライバに関する情報を得ることができます。 WMI Code Creatorツールを使用して、このようなクエリを再生し、必要なC#コードを自動生成します。

+0

BUSの説明をありがとうございます。正しい;ドライバをエミュレートするCOMポートを取得したい。私はアプリケーションを作成しています。私がUSBモデムを接続すると、ポートを自動的に選択することができます。今私はそれを手動で設定しました。 WMIコード作成者のおかげで非常に便利です。私はWin32_SerialPortクラスを試してみると、何かヒントを与えたり、接続されたCOMポートを取得する方法を手伝ってもらえますか?ありがとう – Zerone

+0

WMIコード作成ツールを思い出させてくれてありがとう! – RoelF

1

私はウェブサイトが中国ですが、コードがない

page 1ここで非常に素晴らしいライブラリを発見し、ここpage 2。 x64では動作しません(コンパイルされますが、答えは偽です)が、x86では動作します。ポート番号は、WMIサービスの助けを借りて見つけることができる

関連する問題