首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用CreateFile API 枚举串口

使用CreateFile API 枚举串口

void EnumSerialPort()
    {
      for(INT iPort=1; iPort<32; iPort++)
      {
        TCHAR szPortName[64];
        _stprintf_s(szPortName, _T("\\\\.\\COM%d"), iPort);
        
        HANDLE hComPort = CreateFile(szPortName,
          GENERIC_READ | GENERIC_WRITE,
          0,
          NULL,
          OPEN_EXISTING,
          0,
          NULL);
        BOOL bDone = FALSE;
        if(hComPort != INVALID_HANDLE_VALUE)
        {
          CloseHandle(hComPort);
          bDone = 1;
        }
        else if(GetLastError() != ERROR_FILE_NOT_FOUND)
        {
          bDone = 2;
        }
        
        if(bDone)
        {
          TRACE(_T("COM%d%s\n"), iPort,
            bDone==2? _T("(In using)"):_T(""));
        }
      }
    }


//调试输出

COM1
COM7
COM8(In using)
返回列表