VC++编程通过Bluetooth API调用对话框选择蓝牙设备并显示设备信息


转载自:http://blog.sina.com.cn/s/blog_648d306d0102vjq5.html


官方网站:http://www.bluetooth.com

蓝牙4.2规范:点击下载1

                                            点击下载2

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


    #include  
    #include  
    #include  
    #include  
    #include  
    #include  
      
    #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;  
    } 

VC++编程通过Bluetooth API调用对话框选择蓝牙设备并显示设备信息


     #include  
    #include  
    #include  
    #include  
    #include  
    #include  
      
    #pragma comment(lib,"Bthprops.lib")  
      
    using namespace std;  
      
    int main(void)  
    {  
        BLUETOOTH_SELECT_DEVICE_PARAMS pbtsdp = {sizeof(BLUETOOTH_SELECT_DEVICE_PARAMS) };  
        pbtsdp.fShowAuthenticated = TRUE;  
        pbtsdp.fShowRemembered = TRUE;  
        pbtsdp.fShowUnknown = TRUE;  
        if (BluetoothSelectDevices(&pbtsdp))  
        {  
            BLUETOOTH_DEVICE_INFO *pbtdi = pbtsdp.pDevices;  
            BLUETOOTH_ADDRESS_STRUCT addr;  
            for (ULONG cDevices = 0; cDevices < pbtsdp.cNumDevices; cDevices++)  
            {  
                wcout.imbue(locale(""));  
                cout << "[Class]:0x" << uppercase << hex << pbtdi->ulClassofDevice;  
                wcout << ",[Name]:"<<wstring(pbtdi->szName) << "";  
                addr = pbtdi->Address;  
                cout <<",[Address]:0x"<<uppercase<< hex << addr.ullLong << endl;  
                  
            }  
            BluetoothSelectDevicesFree(&pbtsdp);  
        }  
        _getch();  
        return 0;  
    } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值