获得电脑串口号的方法很多,这里个人仅仅是通过注册表获得串口号,方法如下:
①打开串口注册表
LONG RegOpenKeyEx(HKEY hKey, // 需要打开的主键的名称LPCTSTR lpSubKey, //需要打开的子键的名称DWORD ulOptions, // 保留,设为0REGSAM samDesired, // 安全访问标记,也就是权限PHKEY phkResult // 得到的将要打开键的句柄
)
②枚举串口
LONG RegEnumValue( HKEY hKey, DWORD dwIndex, LPTSTR lpValueName,LPDWORD lpcValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData,LPDWORD lpcbData);
③关闭
LONG RegCloseKey(HKEY hKey // 释放键的句柄
);
int FindCommPort(CComboBox &cComboBox, CString &szFirstItemOfComPort)
{HKEY hKey; int iCount = 0;if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("Hardware\DeviceMap\SerialComm"), NULL, KEY_READ, &hKey) == ERROR_SUCCESS ) {const BYTE BUFFERSIZE = 255; char aPortName[BUFFERSIZE], aComName[BUFFERSIZE]; DWORD dwLong = BUFFERSIZE, dwSize = BUFFERSIZE;while(RegEnumValue( hKey, iCount, aPortName, &dwLong, NULL, NULL, (PUCHAR)aComName, &dwSize ) != ERROR_NO_MORE_ITEMS) {dwLong = dwSize = BUFFERSIZE; if (iCount == 0){szFirstItemOfComPort = aComName;}cComboBox.AddString(aComName);++iCount;}RegCloseKey(hKey); } return (iCount);
}
本文发布于:2024-02-01 10:32:21,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170675474336005.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |