查找COM端口

时间:2009-09-02 04:55:16

标签: c# .net-1.1

我编写了一个代码(vs 2003,ver 1.1),用于列出系统中可用的所有com端口。现在我想知道哪些com端口连接到设备,哪一个可用。

我在vc ++中写了一个dll并完成了它。                                      日Thnx

2 个答案:

答案 0 :(得分:2)

这将是一个艰难的。

串行通信只是发送/接收线路,它们不是像TCP这样的协商连接。

您可以打开一个连接(使用System.IO.Ports)到没有连接设备的端口。

您也可以使用不同的波特率等打开连接并写入它,并且即使有连接的设备,也可能永远不会得到回复。

所有这一切,您可以使用下面的代码在机器上获得列表串口(不包括USB端口),但它不会告诉您是否有设备连接到他们:

foreach (string s in SerialPort.GetPortNames()) {
    Console.WriteLine("{0}", s);
    }

答案 1 :(得分:1)

尝试打开每个端口。如果您无法打开它(或抛出异常),则端口不可用。如果你可以打开它,它就可以使用。