如何在C#中获取端口名称?

我知道我们可以通过使用获取所有端口名称

System.IO.Ports.SerialPort.GetPortNames()


方法。但是此方法将返回所有端口名以及所有虚拟COM端口名。

例如,我的一台PC没有任何COM端口,但是有四个USB端口。因此,现在该函数将端口计数返回为四。但是所有端口都是虚拟COM端口。

因此,我该如何获取端口名称,是否有任何内置功能。 ?

最佳答案

虚拟COM端口旨在模拟真实的COM端口,据我所知,没有标准方法可以检测到它是虚拟COM端口。

如果要在其上安装应用程序的PC都具有相同的虚拟端口,那么您可以通过查看虚拟com端口的驱动程序文档来执行非标准操作。

如果可以保证所有名称都包含虚拟一词,则可以执行以下操作:

System.IO.Ports.SerialPort.GetPortNames().Where( x => !x.Contains("Virtual")).Count();

关于c# - 如何在C#中获取端口名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6046298/

10-16 20:15