获取COM口信息

2 篇文章 0 订阅

 问题:PID\VID出现相同的情况,COM口重复怎么解决。

思路1:通过代码修改COM口回到原有COM口编号。

思路2:是否有方法固定COM口不进行改变。未找到

思路1方案:

1,找到PID与VID相同设备的不同。

“DeviceID”

代码:

         

  string clsid = "{4d36e978-e325-11ce-bfc1-08002be10318}";
            string str = $"Select * From Win32_PnPEntity Where ClassGuid='{clsid}'";
            StringBuilder devStr = new StringBuilder();
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(str);
            foreach (ManagementObject item in searcher.Get())
            {
                if (item["DeviceID"].ToString().Contains(@"FTDIBUS\VID_0403+PID_6001+\0000"))
                {
                    devStr.AppendLine(string.Format("{0}:{1}", "Availability", item["Availability"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Caption", item["Caption"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "ClassGuid", item["ClassGuid"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "CompatibleID", item["CompatibleID"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "ConfigManagerErrorCode", item["ConfigManagerErrorCode"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "ConfigManagerUserConfig", item["ConfigManagerUserConfig"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "CreationClassName", item["CreationClassName"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Description", item["Description"]));

                    devStr.AppendLine(string.Format("{0}:{1}", "DeviceID", item["deviceid"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "ErrorCleared", item["ErrorCleared"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "ErrorDescription", item["ErrorDescription"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "HardwareID", item["HardwareID"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "InstallDate", item["InstallDate"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "LastErrorCode", item["LastErrorCode"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Manufacturer", item["Manufacturer"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Name", item["Name"]));

                    devStr.AppendLine(string.Format("{0}:{1}", "PNPClass", item["PNPClass"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "PNPDeviceID", item["PNPDeviceID"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "PowerManagementCapabilities", item["PowerManagementCapabilities"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "PowerManagementSupported", item["PowerManagementSupported"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Present", item["Present"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Service", item["Service"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "Status", item["Status"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "StatusInfo", item["StatusInfo"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "SystemCreationClassName", item["SystemCreationClassName"]));
                    devStr.AppendLine(string.Format("{0}:{1}", "SystemName", item["SystemName"]));
                }


            }
            textBox1.Text = devStr.ToString();


结果:

 2、如果修改COM口到指定端口???

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值