自动识别当前插入电脑的设备的串口号
需要的头文件#include<Dbt.h>
1.添加消息映射:
ON_WM_DEVICECHANGE()
2.创建消息映射函数
afx_ mg BOOL OnDeviceChange(UINT nEventType ,DWORD_PTR dwData);
3.响应函数实现
OnDeviceChange(UINT nEventType ,DWORD_PTR dwData)
{
if(nEventType == DBT_DEVNODES_CHANGED)
FindPort();
}
4.声明 void FindPort();
5. 定义:
void CWaterStepDlg::FindComPort()
{
HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("Hardware\\DeviceMap\\SerialComm"),NULL,
KEY_READ,&hKey) == ERROR_SUCCESS)
{
TCHAR szPortName[256], szComName[256]; //设备名,串口名
DWORD dwLong, dwSize;
int nCount = 0;
CString str