您的位置:首页 > 其它

获取系统可用串口列表

2008-03-22 09:56 519 查看
 
int CUtil::GetSystemPorts(CString *pNameList, CString *pPortList)   

{   

    CRegKey RegKey;   

    int nCount = 0;   

       

    if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware//DeviceMap//SerialComm") == ERROR_SUCCESS)   

    {   

        while(true)   

        {   

            char ValueName[_MAX_PATH];   

            unsigned char ValueData[_MAX_PATH];   

            DWORD nValueSize = _MAX_PATH;   

            DWORD nDataSize = _MAX_PATH;   

            DWORD nType;   

               

   //RegEnumValue函数的作用是,从被指定打开的注册表项中列举所有的值
   //这函数每调用一次就会拷贝一个索引值的名称和数据块

            if(::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, NULL, &nType, ValueData, &nDataSize) == ERROR_NO_MORE_ITEMS)   

            {   

                break;   

            }   

               

            if(pNameList)   

                pNameList[nCount] = ValueName;   

               

            if(pPortList)   

                pPortList[nCount] = ValueData;   

               

            nCount++;   

        }   

    }   

       

    return nCount;   

}   

转自http://vcer.net/1047279542283.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  path null