c#自动获取对应的串口
下面是根据设备VID和PID匹配对应的串口,也可以根据设备的GUID匹配;具体实现返回类似字符串类似“COM1”。
注释部分可以打印出该设备的所有信息,方便查看选择自己需要的进行扩展。
///
/// VID+PID gets the serial port
///
///
private string searchDevicesRegistry()
{
string[] available_spectrometers = SerialPort.GetPortNames();
ManagementObjectCollection.ManagementObjectEnumerator enumerator = null;
string commDatahttps://www.it610.com/article/= "";
ManagementObjectSearcher mObjs = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM WIN32_PnPEntity");
try
{
enumerator = mObjs.Get().GetEnumerator();
while (enumerator.MoveNext())
{
ManagementObject current = (ManagementObject)enumerator.Current;
if (Strings.InStr(Conversions.ToString(current["Caption"]), "(COM", CompareMethod.Binary) <= 0)
{
continue;
}
//foreach (var property in current.Properties)
//{
//Console.WriteLine(property.Name + ":" + property.Value);
//}
if (current["DeviceID"].ToString().Equals(@"FTDIBUS\VID_0413+PID_6111+FTZ6XM7RA\0000")))
{
commData = https://www.it610.com/article/current["Name"].ToString().Substring(17,4);
break;
}
}
}
finally
{
if (enumerator != null)
{
enumerator.Dispose();
}
}
return commData;
}
‘设备管理器‘里察看USB设备属性的PID和VID,也可以百度科普一下。
这是使用到的动态库using System.IO.Ports;
using System.Management;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
【c#自动获取对应的串口】??
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 使用composer自动加载类文件
- 人脸识别|【人脸识别系列】| 实现自动化妆
- EditText默认不获取焦点弹出键盘
- whlie循环和for循环的应用
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 【实用教程】4种获取无水印视频素材的方法
- 插件化无法获取或找到.so文件
- win7删除新建不自动刷新
- 浅析(成人情趣用品智能无人自动售货机是新零售的下一个风口吗())