如何获取端口的全名
How to get full name of Port
我正在通过串行端口将 Arduino 连接到我的 C# WinForm。 Windows 设备管理器中显示的名称是“Arduino Uno (COM7)”。但是当我检查显示我的组合框的名称时,我正在获取 comport 列表,然后它只是 COM7。我已经尝试了很多在 Whosebug 上显示的示例,但似乎没有按预期工作。我只是想让我的组合框填充有意义的东西,这样我就不必每次都检查设备管理器了。
这是我用来查找端口的代码。
comboBox1.Items.Clear();
string[] ports = SerialPort.GetPortNames();
comboBox1.Items.AddRange(ports);
这是我连接串口的代码...
try
{
serialPort1.PortName = comboBox1.Text;
serialPort1.Open();
}
catch
{
MessageBox.Show();
}
您需要使用 WMI:
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SerialPort");
foreach (ManagementObject result in searcher.Get())
{
// Look at result["Caption"].ToString() and result["DeviceID"].ToString()
}
我正在通过串行端口将 Arduino 连接到我的 C# WinForm。 Windows 设备管理器中显示的名称是“Arduino Uno (COM7)”。但是当我检查显示我的组合框的名称时,我正在获取 comport 列表,然后它只是 COM7。我已经尝试了很多在 Whosebug 上显示的示例,但似乎没有按预期工作。我只是想让我的组合框填充有意义的东西,这样我就不必每次都检查设备管理器了。
这是我用来查找端口的代码。
comboBox1.Items.Clear();
string[] ports = SerialPort.GetPortNames();
comboBox1.Items.AddRange(ports);
这是我连接串口的代码...
try
{
serialPort1.PortName = comboBox1.Text;
serialPort1.Open();
}
catch
{
MessageBox.Show();
}
您需要使用 WMI:
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SerialPort");
foreach (ManagementObject result in searcher.Get())
{
// Look at result["Caption"].ToString() and result["DeviceID"].ToString()
}