2011-01-29 140 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有效。

相关问题