谢欣伦 - OpenDev原创教程 - 蓝牙设备查找类CxBthRadio & CxBthRadioFind

时间:2023-03-08 22:29:09
谢欣伦 - OpenDev原创教程 - 蓝牙设备查找类CxBthRadio & CxBthRadioFind

  这是一个精练的蓝牙设备查找类,类名、函数名和变量名均采用匈牙利命名法。小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合。

CxBthRadioFind的使用如下:

void CUsbScannerDlg::OnBtnLocalBth()
{
// TODO: Add your control notification handler code here
m_list1.ResetContent(); BTH_DEV_INFO bdi = {};
CString str;
CxBthRadioFind finder;
BOOL bRet = finder.FindRadio();
while (bRet)
{
finder.GetDeviceInfo(&bdi);
m_list1.AddString(bdi.szName);
m_list1.AddString(bdi.szMacAddr); str.Format(_T("Class of Device : 0x%08x"), bdi.ulClassofDevice);
m_list1.AddString(str); m_list1.AddString("");
m_list1.AddString("-->Next<--");
bRet = finder.FindNextRadio();
}
finder.FindRadioClose();
}

CxBthRadio的使用如下:

void CUsbScannerDlg::OnBtnCurRemoteBthDev()
{
// TODO: Add your control notification handler code here
m_list1.ResetContent(); BTH_DEV_INFO bdi = {};
BOOL bRetLocalFind, bRetRemoteFind;
CString str;
CxBthRadioFind local_bth_find;
CxBthRadio local_bth; bRetLocalFind = local_bth_find.FindRadio(FALSE);
while (bRetLocalFind)
{
local_bth.Attach(local_bth_find.GetRadioHandle()); bRetRemoteFind = local_bth.FindRemoteDevice(FALSE);
while (bRetRemoteFind)
{
local_bth.GetRemoteDeviceInfo(&bdi);
m_list1.AddString(bdi.szName);
m_list1.AddString(bdi.szMacAddr); str.Format(_T("Class of Device : 0x%08x"), bdi.ulClassofDevice);
m_list1.AddString(str); m_list1.AddString("");
m_list1.AddString("-->Next<--");
bRetRemoteFind = local_bth.FindNextRemoteDevice();
}
local_bth.FindRemoteDeviceClose(); local_bth_find.CloseRadioHandle(); bRetLocalFind = local_bth_find.FindNextRadio(FALSE);
}
local_bth_find.FindRadioClose();
}

  精练的代码不需要过多解释,你们懂的。To be continued...

下载

libComm - v1.2 For WinXP/Win7