C#如何将COM端口更改为指定端口

本文关键字:COM | 更新日期: 2023-09-27 18:20:05

我需要更改USB串行适配器的端口号,我有以下方法来找到它,现在我需要将其端口名/COM号更改为COM11。

我需要这个,但通过C#代码:

我的电脑->管理->设备管理器->端口->通信端口->端口设置->高级->COM端口号


        try
        {
            ManagementObjectSearcher searcher =
                new ManagementObjectSearcher("root''WMI",
                "SELECT * FROM MSSerial_PortName");
            foreach (ManagementObject queryObj in searcher.Get())
            {
                //If the serial port's instance name contains USB 
                //it must be a USB to serial device
                if (queryObj["InstanceName"].ToString().Contains("USB"))
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("MSSerial_PortName instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("InstanceName: {0}", queryObj["InstanceName"]);
                    Console.WriteLine(queryObj["PortName"] + "is a USB to SERIAL adapter/converter");
                    string port = queryObj["PortName"].ToString();
                    SerialPort p = new SerialPort(port);
                    //p.PortName = "COM11";
                    return port ;
                }
            }
            throw new Exception(Messages.PINPAD_NOT_FOUND);
        }

C#如何将COM端口更改为指定端口

我认为wmi中不提供com端口重命名。从技术角度来看,您所指的配置更改了连接到驱动程序的符号链接。我认为这是可行的,但你必须在DDK中寻找它(也许在WDM中)。

据我所知,你的程序的正确解决方案是能够使自己适应硬件的任何名称。您应该将正确的端口名存储在配置文件或注册表中的某个位置,并允许用户自定义它。

相关文章:
  • 没有找到相关文章