是否有API在Windows 8.1上启用/禁用蓝牙?

时间:2014-06-16 01:12:20

标签: windows winapi bluetooth windows-8.1

在Windows 8 / 8.1中,现在可以通过操作系统本身启用/禁用蓝牙(参见下图)。这很棒,因为它与设备/驱动程序无关。

在Android上,这可以通过BluetoothAdapter.enable()BluetoothAdapter.disable()实现,但我无法在Windows上找到任何可以执行此操作的内容(即使它看起来像是这样)绝对可能)。

所以我尝试过使用:

  • BluetoothEnableIncomingConnections() - 但是,这只会阻止新的传入连接。它不会禁用现有的。
  • devcon.exe - 这个方法的问题是A.它是一个不可再发行的二进制B.它要求你提前知道他的设备ID(所以它不是设备/驱动程序 - 无关)。此外,虽然它不是一个破坏者,但要求提升会很好。
  • UI自动化 - 只需启动PC设置应用并使用键盘事件切换开关很简单,但在正确的编码实践和用户方面都非常难看经验。话虽这么说,这是我找到的唯一方法来实现我到目前为止所寻找的行为。

Bluetooth Toggle Switch

我在C ++中编写本机Win32应用程序,因此我并不局限于任何Windows应用商店应用程序要求,但是,如果有一种方法不需要提升,那就太棒了。

TL; DR

是否有任何API,WMI接口或其他任何可用于实现功能相同的结果来翻转蓝牙切换开关?如果没有,是否有任何替代方法可以产生类似的结果?

1 个答案:

答案 0 :(得分:0)

在win8.1中,您应该可以致电BluetoothEnableRadio来启用/禁用本地电台。

基本上,制造商应该提供一种方法来实现这一目标,这样您就不必加载DLL。

" 从Windows 8.1开始,不再需要供应商在软件DLL中实现无线电开/关功能(对于蓝牙4.0无线电),如本主题所述,因为操作系统现在处理此功能。 Windows 8.1将忽略任何此类DLL,即使存在。"

查看以下链接: http://msdn.microsoft.com/en-us/library/windows/hardware/hh450832%28v=vs.85%29.aspx