概述
1、直接遍历:
int CZzcSerial::TraveralCom(vector<string>& vName, vector<string>& vzName)
{
int nNum = 0;
vName.clear();
for (int i = 0;i < 256;++i)
{
char szComName[MAX_PATH] = {0};
sprintf_s(szComName, "\\.\COM%d", i);
HANDLE hPort = CreateFile(szComName,
GENERIC_READ | GENERIC_WRITE ,
0,
0,
OPEN_EXISTING,
0,
0);
if (INVALID_HANDLE_VALUE == hPort)
{
if (ERROR_ACCESS_DENIED == GetLastError())
{
//当前串口被占用
vzName.push_back(string(szComName));
}
}
else
{
++nNum;
vName.push_back(string(szComName));
CloseHandle(hPort);
hPort = INVALID_HANDLE_VALUE;
}
}
return nNum;
}
2、通过读取注册表:
void CZzcSerial::TraveralCom(vector<string>& vName)
{
HKEY hKey;
char szportName[MAX_PATH], szcommName[MAX_PATH];
if (ERROR_SUCCESS == ::RegOpenKeyEx(HK
最后
以上就是重要水池为你收集整理的串口编程---遍历串口号的全部内容,希望文章能够帮你解决串口编程---遍历串口号所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复