即使删除了蓝牙耳机,Win10 也能记住它

即使删除了蓝牙耳机,Win10 也能记住它

我会尝试用图片来解释,因为它看起来真的很奇怪。

系统 - Win10(目前最新更新)
Bt USB Dongle - Erston Bluetooth 5.1(REALTECH 芯片)
耳机 - JBL TUNE700BT

  1. 我手动从我的电脑中删除了所有 BT 设备(图 1)
  2. 拔出蓝牙适配器 + 插入蓝牙适配器
  3. 系统安装蓝牙收音机和耳机:(图 2)

,这些虚拟设备阻止我的耳机连接到此 Bt。
,即使从设备管理器中删除这些记录,我也无法在查找窗口中看到我的耳机,也无法添加它们
,尽管我可以成功将我的耳机添加到其他 Bt 网络

如果我拔下并再次插入我的加密狗 - 这些记录将再次出现(!!)

我如何删除这些虚拟记录?

更新1:
我从一开始就尝试通过“现代控制面板”取消配对。结果相同。

答案1

我也有类似的问题,发现这个答案另一个论坛。这种方法为我解决了这个问题:

通常不会死机一个线程,但我花了两个星期在网上搜索试图解决这个问题,这个线程在搜索排名中相当高,希望能对某人有所帮助。

我的症状:

  • 之前可以使用的蓝牙扬声器(我使用的是 UE BOOM 2)停止连接
  • Windows 10“蓝牙和其他设备”菜单显示该设备已配对
  • 按“连接”按钮尝试连接,但失败后会返回到“已配对”状态
  • 删除设备会将设备从菜单中隐藏,但只要你打开和关闭蓝牙,或重新启动电脑,该设备就会恢复
  • 你拔掉了自己的头发。

在我经过多次不成功的互联网搜索和一次系统还原之后,终于找到了一个有效的解决方案:

  • 下载这个已有 7 年历史的命令行蓝牙工具集:蓝牙命令行工具- 通过命令行使用蓝牙
  • 安装它,确保启用“将蓝牙命令行工具目录添加到路径”选项
  • 打开 Powershell
  • 将无法正常工作的设备置于配对模式警告:以下命令将取消所有蓝牙设备的配对
  • 输入“btpair -u”
  • 突然,Windows 询问我是否允许与无法正常工作的设备配对
  • 点击是,再次成功连接
  • 喜极而泣

上帝,我希望这能帮助别人。

答案2

电源外壳可能会有所帮助。它将显示找到的设备并允许您通过 API 函数删除它们。将整个代码块复制并粘贴到电源外壳窗户:

$Source = @"
   [DllImport("BluetoothAPIs.dll", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
   [return: MarshalAs(UnmanagedType.U4)]
   static extern UInt32 BluetoothRemoveDevice(IntPtr pAddress);

   public static UInt32 Unpair(UInt64 BTAddress) {
      GCHandle pinnedAddr = GCHandle.Alloc(BTAddress, GCHandleType.Pinned);
      IntPtr pAddress     = pinnedAddr.AddrOfPinnedObject();
      UInt32 result       = BluetoothRemoveDevice(pAddress);
      pinnedAddr.Free();
      return result;
   }
"@

Function Get-BTDevice {
    Get-PnpDevice -class Bluetooth |
      ?{$_.HardwareID -match 'DEV_'} |
         select Status, Class, FriendlyName, HardwareID,
            # Extract device address from HardwareID
            @{N='Address';E={[uInt64]('0x{0}' -f $_.HardwareID[0].Substring(12))}}
}

################## Execution Begins Here ################

$BTR       = Add-Type -MemberDefinition $Source -Name "BTRemover"  -Namespace "BStuff" -PassThru
$BTDevices = @(Get-BTDevice) # Force array if null or single item

Do {
   If ($BTDevices.Count) {
      "`n******** Bluetooth Devices ********`n" | Write-Host
      For ($i=0; $i -lt $BTDevices.Count; $i++) {
         ('{0,5} - {1}' -f ($i+1), $BTDevices[$i].FriendlyName) | Write-Host
      }
      $selected = Read-Host "`nSelect a device to remove (0 to Exit)"
      If ([int]$selected -in 1..$BTDevices.Count) {
         'Removing device: {0}' -f $BTDevices[$Selected-1].FriendlyName | Write-Host
         $Result = $BTR::Unpair($BTDevices[$Selected-1].Address)
         If (!$Result) {"Device removed successfully." | Write-Host}
         Else {"Sorry, an error occured." | Write-Host}
      }
   }
   Else {
      "`n********* No devices found ********" | Write-Host
   }
} While (($BTDevices = @(Get-BTDevice)) -and [int]$selected)

答案3

您需要取消耳机配对。您无法使用设备管理器执行此操作。相反,您必须转到现代控制面板,也就是您配对新蓝牙设备的地方。

蓝牙和其他设备

在这里,您可以选择要移除的设备,然后单击“移除设备”按钮。然后该设备即可再次配对。

相关内容