如何在Windows中找到蓝牙网络接口的MAC地址(硬件地址)?问题不是找到地址,问题是识别网络接口类型是否为蓝牙。
我尝试过的两种方法都没有区分以太网卡和蓝牙(至少我没有看到区别)-GetAdaptersAddresses
返回蓝牙接口(IF_TYPE_ETHERNET_CSMACD
与WiFi 相同,尽管存在无线类型WMI
)AdapterTypeID
。Ethernet 802.3
我目前看到的唯一可能性是搜索文本“蓝牙”的名称或描述字符串,但这似乎不是好的解决方案;-)
如何在Windows中找到蓝牙网络接口的MAC地址(硬件地址)?问题不是找到地址,问题是识别网络接口类型是否为蓝牙。
我尝试过的两种方法都没有区分以太网卡和蓝牙(至少我没有看到区别)-GetAdaptersAddresses
返回蓝牙接口(IF_TYPE_ETHERNET_CSMACD
与WiFi 相同,尽管存在无线类型WMI
)AdapterTypeID
。Ethernet 802.3
我目前看到的唯一可能性是搜索文本“蓝牙”的名称或描述字符串,但这似乎不是好的解决方案;-)
您可以使用BluetoothFindFirstRadio
和。适配器的本地 MAC 地址则位于以下字段中:BluetoothFindNextRadio
BluetoothGetRadioInfo
address
BLUETOOTH_RADIO_INFO
BLUETOOTH_FIND_RADIO_PARAMS btfrp;
btfrp.dwSize = sizeof(btfrp);
HANDLE hRadio;
HBLUETOOTH_RADIO_FIND hFind = BluetoothFindFirstRadio(&btfrp, &hRadio);
if(hFind == NULL)
{
DWORD err = GetLastError();
switch(err)
{
case ERROR_NO_MORE_ITEMS:
// No bluetooth radio found
break;
default:
// Error finding radios
}
return;
}
do
{
BLUETOOTH_RADIO_INFO radioInfo;
radioInfo.dwSize = sizeof(radioInfo);
DWORD err = BluetoothGetRadioInfo(hRadio, &radioInfo);
if(err != ERROR_SUCCESS)
{
// Error during BluetoothGetRadioInfo
continue;
}
// The mac address is in radioInfo.address
}
while(BluetoothFindNextRadio(hFind, &hRadio));
BluetoothFindRadioClose(hFind);