获取当前系统可用串口号(转,亲测有效)
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 == hCom)
{
DWORD error = ::GetLastError();//取得错误信息
}
else
{
pComnum->AddString(strCom);
count++;
}
CloseHandle(hCom);
} while (nCom < 256);
pComnum->SetCurSel(0);
}
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html