有没有办法通过 powershell 或任何其他工具连接和断开配对的蓝牙设备?基本上按下蓝牙和其他设备中的连接/断开按钮,除了任何类型的命令行(Powershell,使用一些命令行工具的 bat,C#,C++ 中的代码等):
我找到了这个答案,但它涉及取消配对和再次配对,这不起作用,因为我的耳机需要处于配对模式才能接受新的配对。我不想通过 AutoIt 或其他类似软件模拟按键和鼠标点击。
有没有办法通过 powershell 或任何其他工具连接和断开配对的蓝牙设备?基本上按下蓝牙和其他设备中的连接/断开按钮,除了任何类型的命令行(Powershell,使用一些命令行工具的 bat,C#,C++ 中的代码等):
我找到了这个答案,但它涉及取消配对和再次配对,这不起作用,因为我的耳机需要处于配对模式才能接受新的配对。我不想通过 AutoIt 或其他类似软件模拟按键和鼠标点击。
我使用Win32 Bluetooth API
BluetoothSetServiceState
编写了 C++ 代码来完成它,但实际上使用Bluetooth Command Line Tools就足够了。事实证明,一旦设备使用的所有服务都被禁用,设备就会被 Windows 自动释放和断开连接。在我的例子中,根据屏幕截图,这些是语音和音乐,大多数耳机的工作方式相同。
语音实际上是免提服务 (HFP),而音乐只是音频接收器 (A2DP)。服务标识符将是必需的,它们可以通过使用上面包中的
btdiscovery
命令或通过蓝牙服务列表来发现。HFP语音是111e
,A2DP音乐是110b
。每个
btcom
命令行帮助:要断开设备,请发出以下命令(仅在以管理员身份运行时有效,在我的情况下,使用 Windows 10 1809 (17763.437)):
-c
要再次连接,请使用而不是发出相同的命令-r
。这适用于其他设备,而不仅仅是耳机,只要禁用/启用 Windows 连接的所有服务/配置文件即可。注意:由于执行蓝牙发现,
-n <friendly name>
使用比使用慢得多。-b <address>
如果@MarcinJ 使用蓝牙命令行工具的解决方案对您来说太慢,特别是如果您想在来电的同时配对设备,请尝试创建 Windows 快捷方式:(
右键单击 > 新建 > 快捷方式)
它将在屏幕上弹出一个显示和音频面板,只需单击一下即可连接。
快捷方式的漂亮 BT 图标可以在 上找到,例如
C:\Windows\System32\fsquirt.exe
。赢得 10 个快捷方式https://www.windowscentral.com/best-windows-10-keyboard-shortcuts
win 键 + K 打开侧边栏菜单并立即搜索蓝牙设备。然后单击您已经配对的设备并连接。
也许
Get-PnPDevice
,Disable-PnPDevice
并且Enable-PnPDevice
会为你做的伎俩。我还没能测试出来。例子:
将变量更改
$DeviceName
为您的 BT 设备的名称。获取 PnPDevice 启用 PnPDevice 禁用 PnPDevice
根据 OP 响应进行编辑。
查看底层类,该项目未公开以供编程访问。
蓝牙设备。关闭方法
似乎没有其他 API 文档可以说明这一点。因此,看起来您似乎受困于 SendKeys、AutoIT 等,至少目前是这样。
我已经在 Windows 10 中成功测试了下面的 vbs 脚本。这里我使用
SendKeys
命令模拟击键。s的数量{TAB}
在您的系统上会有所不同,以达到蓝牙设备名称。