• 获取COM口信息


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

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

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

    思路1方案:

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

    “DeviceID”

    代码:

             

    1. string clsid = "{4d36e978-e325-11ce-bfc1-08002be10318}";
    2. string str = $"Select * From Win32_PnPEntity Where ClassGuid='{clsid}'";
    3. StringBuilder devStr = new StringBuilder();
    4. ManagementObjectSearcher searcher = new ManagementObjectSearcher(str);
    5. foreach (ManagementObject item in searcher.Get())
    6. {
    7. if (item["DeviceID"].ToString().Contains(@"FTDIBUS\VID_0403+PID_6001+\0000"))
    8. {
    9. devStr.AppendLine(string.Format("{0}:{1}", "Availability", item["Availability"]));
    10. devStr.AppendLine(string.Format("{0}:{1}", "Caption", item["Caption"]));
    11. devStr.AppendLine(string.Format("{0}:{1}", "ClassGuid", item["ClassGuid"]));
    12. devStr.AppendLine(string.Format("{0}:{1}", "CompatibleID", item["CompatibleID"]));
    13. devStr.AppendLine(string.Format("{0}:{1}", "ConfigManagerErrorCode", item["ConfigManagerErrorCode"]));
    14. devStr.AppendLine(string.Format("{0}:{1}", "ConfigManagerUserConfig", item["ConfigManagerUserConfig"]));
    15. devStr.AppendLine(string.Format("{0}:{1}", "CreationClassName", item["CreationClassName"]));
    16. devStr.AppendLine(string.Format("{0}:{1}", "Description", item["Description"]));
    17. devStr.AppendLine(string.Format("{0}:{1}", "DeviceID", item["deviceid"]));
    18. devStr.AppendLine(string.Format("{0}:{1}", "ErrorCleared", item["ErrorCleared"]));
    19. devStr.AppendLine(string.Format("{0}:{1}", "ErrorDescription", item["ErrorDescription"]));
    20. devStr.AppendLine(string.Format("{0}:{1}", "HardwareID", item["HardwareID"]));
    21. devStr.AppendLine(string.Format("{0}:{1}", "InstallDate", item["InstallDate"]));
    22. devStr.AppendLine(string.Format("{0}:{1}", "LastErrorCode", item["LastErrorCode"]));
    23. devStr.AppendLine(string.Format("{0}:{1}", "Manufacturer", item["Manufacturer"]));
    24. devStr.AppendLine(string.Format("{0}:{1}", "Name", item["Name"]));
    25. devStr.AppendLine(string.Format("{0}:{1}", "PNPClass", item["PNPClass"]));
    26. devStr.AppendLine(string.Format("{0}:{1}", "PNPDeviceID", item["PNPDeviceID"]));
    27. devStr.AppendLine(string.Format("{0}:{1}", "PowerManagementCapabilities", item["PowerManagementCapabilities"]));
    28. devStr.AppendLine(string.Format("{0}:{1}", "PowerManagementSupported", item["PowerManagementSupported"]));
    29. devStr.AppendLine(string.Format("{0}:{1}", "Present", item["Present"]));
    30. devStr.AppendLine(string.Format("{0}:{1}", "Service", item["Service"]));
    31. devStr.AppendLine(string.Format("{0}:{1}", "Status", item["Status"]));
    32. devStr.AppendLine(string.Format("{0}:{1}", "StatusInfo", item["StatusInfo"]));
    33. devStr.AppendLine(string.Format("{0}:{1}", "SystemCreationClassName", item["SystemCreationClassName"]));
    34. devStr.AppendLine(string.Format("{0}:{1}", "SystemName", item["SystemName"]));
    35. }
    36. }
    37. textBox1.Text = devStr.ToString();


    结果:

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

  • 相关阅读:
    java日期格式化为json字符串,看这个就够了
    Node.js安装使用问题
    数据结构——顺序表
    MATLAB中创建并计算多项式
    Centos 7.6安装MetaSploit
    Flutter 8 个优秀动画 Packages
    Java逻辑运算符(&&、||和!),Java关系运算符
    【机器学习】21天挑战赛学习笔记(五)
    CentOS7 rabbitmq3.8 与 erlang22. 安装、干净卸载
    【前置句与倒装句练习题】特殊语序
  • 原文地址:https://blog.csdn.net/chen_202/article/details/128116688