1

我在我的计算机上安装了一个设备(例如读卡器)。我运行了这段代码,但ComboBox没有填写。

代码:

using System.Management;
using System.IO.Ports;

foreach (string portname in SerialPort.GetPortNames())
        {
            comboBox1.Items.Add(portname);
        }

由于这不起作用,我如何查看计算机上安装的设备的端口地址和属性?

4

1 回答 1

1

GetPortNames() 函数提供了串行端口名称的列表,请参见 GetPortNames() 页面,它们不是套接字。

这是有关 SerialPort 类的文档,其中包含可用于确定特定串行端口属性(包括波特率等)的方法。我怀疑您想要的基本大纲是使用该SerialPort.GetPortNames()方法生成端口列表名称,然后在SerialPort (String)遍历提供的端口列表时使用 来询问特定端口的属性GetPortNames()

如果它实际上是您感兴趣的套接字,您可能想知道众所周知的 TCP 和 UDP 端口列表,但是就像盗版代码一样,这些更像是指导而不是实际规则,并且端口上的实际内容可能不是标准使用文件。这取决于正在运行的软件以及软件的配置方式。除了通过标准列表、向端口发送特定于服务的查询或使用诸如 netstat 之类的实用程序来生成列表之外,我不知道有任何方法可以知道哪些服务可能正在使用特定端口。

于 2012-08-15T01:21:02.340 回答