我是靠谱客的博主 重要水池,最近开发中收集的这篇文章主要介绍串口编程---遍历串口号,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

最后

以上就是重要水池为你收集整理的串口编程---遍历串口号的全部内容,希望文章能够帮你解决串口编程---遍历串口号所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部