windows取得串口列表
来源:互联网 发布:usb网络打印服务器 编辑:程序博客网 时间:2024/05/17 05:17
#include <atlbase.h>
int SerialPort::GetList(char list[][SERIAL_NAME_MAXLEN]){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; if(::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, NULL, &nType, ValueData, &nDataSize) == ERROR_NO_MORE_ITEMS) { break; } strcpy(list[nCount], (char*)ValueData);nCount++; } } return nCount; }