之前用Qt写一个用于Arduino开发板HEX文件烧写的工具,遇到了这个问题。后来找到了一个跨平台的串口操作库:qextserialport以下代码可用于获取Windows平台上活动的串口列表。QStringList&ComPortMgr::getAvailableComPorts(){staticQStringListavailablePorts;constintMAX_COM_PORT=256;QStringtestPortName;QextSerialPorttestPort;testPort.setBaudRate(BAUD9600);testPort.setFlowControl(FLOW_OFF);testPort.setParity(PAR_NONE);testPort.setDataBits(DATA_8);testPort.setStopBits(STOP_1);for(inti=1;i<MAX_COM_PORT;i++){testPortName=QString("COM%1").arg(i);testPort.setPortName(testPortName);if(testPort.open(QIODevice::ReadWrite)){availablePorts.append(testPortName);testPort.close();}}returnavailablePorts;