C++获取可使用的COM口列表

    int iCOM;
    char cCom[MAX_PATH] = " "; 
    bool bFirstTime = TRUE;
    for(int i = 1; i<=iCOM; i++)
    {
        HANDLE hCom; //全局变量,串口句柄 
        char cTemp[MAX_PATH]; 
        char cTempFull[MAX_PATH]; 
        sprintf(cTemp, "COM%d", i);
        sprintf(cTempFull, "\\\\.\\COM%d", i);
        hCom=CreateFile(cTempFull,//COM1口 
            GENERIC_READ|GENERIC_WRITE, //允许读和写 
            0, //独占方式 
            NULL, 
            OPEN_EXISTING, //打开而不是创建 
            0, //同步方式 
            NULL); 
        if(hCom==(HANDLE)-1) 
        { 
            //AfxMessageBox("打开COM失败!"); 
        } 
        else
        {
            if(bFirstTime==TRUE)
            {
                bFirstTime = FALSE;
                sprintf(cCom,"%s",cTemp);
            }
            else
            {
                sprintf(cCom,"%s,%s",cCom,cTemp);
            }
        }
        CloseHandle(hCom);
    }

你可能感兴趣的:(C++)