VC++编程通过Windows Bluetooth API枚举蓝牙适配器及蓝牙设备


#include <windows.h>
#include <BluetoothAPIs.h>
#include <conio.h>
#include <iostream>
#include <string>
#include <locale>

#pragma comment(lib,"Bthprops.lib")

using namespace std;

int main(void)
{
	wcout.imbue(locale(""));
	HBLUETOOTH_RADIO_FIND hbf = NULL;
	HANDLE hbr = NULL;
	HBLUETOOTH_DEVICE_FIND hbdf = NULL;
	BLUETOOTH_FIND_RADIO_PARAMS btfrp = { sizeof(BLUETOOTH_FIND_RADIO_PARAMS) };
	BLUETOOTH_RADIO_INFO bri = { sizeof(BLUETOOTH_RADIO_INFO)};
	BLUETOOTH_DEVICE_SEARCH_PARAMS btsp = { sizeof(BLUETOOTH_DEVICE_SEARCH_PARAMS) };
	BLUETOOTH_DEVICE_INFO btdi = { sizeof(BLUETOOTH_DEVICE_INFO) };
	hbf=BluetoothFindFirstRadio(&btfrp, &hbr);
	bool brfind = hbf != NULL;
	while (brfind)
	{
		if (BluetoothGetRadioInfo(hbr, &bri) == ERROR_SUCCESS)
		{
			cout << "Class of device: 0x" << uppercase << hex << bri.ulClassofDevice << endl;
			wcout <<"Name:"<< bri.szName << endl;
			cout <<"Manufacture:0x"<< uppercase << hex << bri.manufacturer << endl;
			cout << "Subversion:0x" << uppercase << hex << bri.lmpSubversion << endl;
			//
			btsp.hRadio = hbr;
			btsp.fReturnAuthenticated = TRUE;
			btsp.fReturnConnected = FALSE;
			btsp.fReturnRemembered = TRUE;
			btsp.fReturnUnknown = TRUE;
			btsp.cTimeoutMultiplier = 30;
			hbdf=BluetoothFindFirstDevice(&btsp, &btdi);
			bool bfind = hbdf != NULL;
			while (bfind)
			{
				wcout << "[Name]:" << btdi.szName;
				cout << ",[Address]:0x" << uppercase << hex << btdi.Address.ullLong << endl;
				bfind=BluetoothFindNextDevice(hbdf, &btdi);
			}
			BluetoothFindDeviceClose(hbdf);
		}
		CloseHandle(hbr);
		brfind=BluetoothFindNextRadio(hbf, &hbr);
	}
	BluetoothFindRadioClose(hbf);
	_getch();
	return 0;
}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螃蟹@横着走

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值