C#通过API获取串口列表,不要使用SerialPort.GetPortNames(),该方法获取的与设备管理器不一致
时间: 2023-06-25 18:02:54 浏览: 76
可以使用WMI(Windows Management Instrumentation)来获取串口列表,以下是示例代码:
```csharp
using System.Management;
public static List<string> GetSerialPortList()
{
List<string> portList = new List<string>();
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SerialPort");
foreach (ManagementObject port in searcher.Get())
{
string name = port["Name"] as string;
if (!string.IsNullOrEmpty(name))
{
portList.Add(name);
}
}
return portList;
}
```
该代码使用WMI查询Win32_SerialPort类,该类包含系统中所有串口的信息,可以从中获取串口列表。注意,查询需要管理员权限。
相关问题
C#通过API获取串口列表
你可以使用 C# 中的 `SerialPort.GetPortNames()` 方法来获取所有可用的串口列表。该方法将返回一个字符串数组,其中包含计算机上所有可用的串口名称。你可以按照以下代码示例使用该方法:
```
using System.IO.Ports;
// 获取可用的串口列表
string[] portNames = SerialPort.GetPortNames();
// 遍历所有串口名称并输出
foreach (string portName in portNames)
{
Console.WriteLine(portName);
}
```
注意:在使用此方法之前,请确保在程序中添加 `System.IO.Ports` 命名空间。
String[] ports = System.IO.Ports.SerialPort.GetPortNames();
这段代码是用来获取计算机上可用串口的名称(port name)的。它使用了 .NET Framework 中的 SerialPort 类,该类提供了访问计算机上串口的方法和属性。SerialPort.GetPortNames() 方法会返回一个字符串数组,数组中的每个元素都是一个可用串口的名称。例如,如果计算机上有 COM1 和 COM2 两个串口可用,那么这个方法返回的字符串数组就会包含 "COM1" 和 "COM2" 两个元素。这些串口名称可以用于初始化 SerialPort 类的实例,以便打开、读取或写入串口数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)