首页 > 代码库 > 获取当前系统可用串口号(转,亲测有效)

获取当前系统可用串口号(转,亲测有效)

void GetComList_256(CComboBox* pComnum)
{
  CString strCom, strComOpen;
  int nCom = 0;
  int count = 0;
  HANDLE hCom;
  pComnum->ResetContent();//组合框清空
   do
   {
   nCom++;
     strCom.Format(_T("COM%d"), nCom);
     strComOpen.Format(_T("\\\\.\\COM%d"), nCom);
  hCom = CreateFile(strComOpen, GENERIC_READ | GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);//如果返回不为空则此串口可用
     if (INVALID_HANDLE_VALUE =http://www.mamicode.com/= hCom)
    {
    DWORD error = ::GetLastError();//取得错误信息
    }
     else
    {
    pComnum->AddString(strCom);
    count++;
    }
     CloseHandle(hCom);
  } while (nCom < 256);
 pComnum->SetCurSel(0);
}

获取当前系统可用串口号(转,亲测有效)