vc 枚举串口

访问注册表:
if
(::RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("Hardware//DeviceMap//SerialComm"), NULL, KEY_READ, &hKey ) == ERROR_SUCCESS ) //打开串口注册表对应的键值 { int i=0; TCHAR portName[256],commName[256]; DWORD dwLong,dwSize; while(1) { dwLong = dwSize = sizeof(portName); if( ::RegEnumValue(hKey, i, portName, &dwLong, NULL, NULL, (PUCHAR)commName, &dwSize ) == ERROR_NO_MORE_ITEMS )// 枚举串口 break; pComboBox->AddString( commName ); // commName就是串口名字 i++; } if( pComboBox->GetCount() == 0 ) { ::AfxMessageBox(_T("在HKEY_LOCAL_MACHINE:Hardware//DeviceMap//SerialComm里找不到串口!!!")); } RegCloseKey(hKey); }

思路:
1、建立硬件与电脑间的嗅探指令
2、循环打开端口,打开成功则发送嗅探指令,超时未应答则转下个端口,直到连接成功
我们产品以此开发成功。

 

访问注册表 或是 CreateFile 逐个试

 

转载于:https://www.cnblogs.com/rechen/p/5075954.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值