2017-05-04 117 views
0

我正在一個.NET 4.5 C#項目,我需要找出我的USB設備是否連接到同一個USB集線器。如何檢測兩個USB設備連接到同一個USB集線器在c#

我搜索了一下,並試圖探索許多ManagementObjectCollection的結構像Win32_USBHub和Win32_PnPEntity,但我找不到任何WMI結構有位置或端口鏈信息。

我試過USB設備樹工具,在那裏我可以看到的信息:從上面的信息

Device: 1 
Location IDs    : PCIROOT(0)#PCI(1A00)#USBROOT(0)#USB(1)#USB(3)#USB(1) 

Device: 2 
Location IDs    : PCIROOT(0)#PCI(1A00)#USBROOT(0)#USB(1)#USB(3)#USB(2) 

現在我想寫存儲和比較這兩個ID的識別如果兩個設備都在邏輯同一個USB集線器。

我試圖探索USB設備樹源代碼: http://www.uwe-sieber.de/usbtreeview_e.html

但仍無法運行,因爲在NativeUsbLib一些問題的代碼。

任何人都可以請幫我分享一些示例代碼如何從WMI或setupapi.dll獲取這些信息?

回答