如何通过注册表列举出当前系统存在的串口号

Breeze 2007-02-28 03:15:45
哪位大侠知道一下,多谢
...全文
634 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonely00 2011-02-19
  • 打赏
  • 举报
回复
serialport.getportnames()
ddszhan 2007-02-28
  • 打赏
  • 举报
回复
int GetSerialPort(CStringArray& arrCom)
{
arrCom.RemoveAll();

HKEY hkey;
LONG lRes = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("HARDWARE\\DEVICEMAP\\SERIALCOMM"), NULL, KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_READ, &hkey);
if (lRes == ERROR_SUCCESS)
{
TCHAR tchKey[MAX_PATH];
TCHAR tchValue[20];
DWORD dwIndex = 0;
DWORD dwType = REG_SZ;
while(lRes == ERROR_SUCCESS)
{
DWORD dwCount = MAX_PATH;
DWORD dwVCount = 20;
lRes = RegEnumValue(hkey, dwIndex++, tchKey, &dwCount, NULL, &dwType, (LPBYTE)tchValue, &dwVCount);
if(lRes == ERROR_SUCCESS)
{
if((dwVCount > 0) && (dwCount > 0))
{
arrCom.Add(tchValue);
}
}
}
}
RegCloseKey(hkey);

return arrCom.GetSize();
}

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧