2011-01-29 187 views
5

當USB設備連接到計算機時,如何獲取使用C#代碼連接的PORT名稱。 我發現很多方法來找到USB連接,斷開連接,驅動器號,路徑,設備ID等,但沒有找到任何清楚的例子,知道如何知道它連接到哪個端口。我看到了一個可能的解釋,但涉及很多我完全不明白的pinvokes。 我喜歡相信有更直接和簡單的方法來獲取這樣的信息在C#中,而不使用任何非託管代碼。獲取連接的USB設備的端口名稱

+0

我創建一個應用程序,當我插上我的USB調制解調器我想,要選擇端口自動現在我手動選擇它。我只想獲取通過其連接特定USB的COM端口(獲取COM端口,可能是通過USB設備ID進行搜索)。 – Zerone 2011-01-31 06:33:25

回答

9

USB端口沒有名稱。這是一條公共汽車,不管你使用什麼連接器。就像插入卡在機器內部總線上的位置並不重要。

如果您實際上正在討論驅動程序模擬串行端口(如「COM5」)的USB設備,這很常見,那麼您可以從WMI查詢Win32_SerialPort類中獲取關於該驅動程序的一些信息。使用WMI Code Creator工具來玩這樣的查詢並自動生成您需要的C#代碼。

+0

非常感謝您解釋BUS。正確;我想獲得驅動程序模擬的COM端口。我正在創建一個應用程序,當我插入USB調制解調器時,我希望它自動選擇端口,有時它會改變;現在我手動設置它。感謝WMI代碼創建者,它看起來非常有用。你可以給我任何提示或幫助如何使用它來獲得連接的COM端口,因爲當我嘗試使用Win32_SerialPort類時,它會給我0結果。謝謝 – Zerone 2011-01-31 06:19:36

1

我發現這裏page 1這裏page 2

一個非常好的圖書館的網站是中國人,但代碼是沒有的。它不適用於x64(它會編譯,但答案是假的),但對x86有效。

相關問題