获取已连接USB设备的端口名称

时间:2011-01-29 16:40:48

标签: c# windows usb

当USB设备连接到计算机时,如何使用C#代码获取其连接的PORT名称。 我找到了很多方法来查找USB连接,断开连接,驱动器号,路径,设备ID等,但没有找到任何关于如何知道它连接到哪个端口的明确示例。我看到了一个可能的解释,但涉及很多pinvokes,我完全不明白。 我喜欢相信有更直接,更简单的方法可以单独使用c#获取此类信息,而无需使用任何非托管代码。

4 个答案:

答案 0 :(得分:11)

USB端口没有名称。它是一个总线,你使用什么连接器并不重要。就像在机器内部的总线中插入卡一样无关紧要。

如果您实际上在谈论其驱动程序模拟串行端口(如“COM5”)的USB设备,这很常见,那么您可以从WMI查询Win32_SerialPort类中获取有关驱动程序的一些信息。使用WMI Code Creator工具来播放此类查询并自动生成所需的C#代码。

答案 1 :(得分:5)

也许您可以将 C#用于 USB 设备库 如下所述:
Are there any good C# to usb device libraries?

从上面的答案:获取连接设备列表:
http://code.google.com/p/usb-devices-list/

答案 2 :(得分:1)

我在page 1page 2

找到了一个非常好的图书馆

网站是中文,但代码不是。它不适用于x64(它会编译,但答案是假的),但适用于x86。

答案 3 :(得分:1)

可以在wmi服务的帮助下找到COM端口号, 这是a vbscript example for detecting usb com port number