Существуют ли API для включения / отключения Bluetooth в Windows 8.1?

В Windows 8 / 8.1 теперь возможно включить / отключить Bluetooth через саму ОС (см. Изображение ниже). Это потрясающе, потому что не зависит от устройства / драйвера.

На Android это возможно черезBluetoothAdapter.enable () а такжеBluetoothAdapter.disable (), но я не смог найти ничего, чтобы сделать это на Windows (хотя кажется, что это определенно возможно).

Итак, я попытался с помощью:

BluetoothEnableIncomingConnections () - Однако это только предотвращает новые входящие соединения. Это не отключает существующие.devcon.exe - Проблема с этим методом заключается в том, что A. это двоичный файл, который нельзя распространять, B. он требует, чтобы вы знали его идентификатор устройства заблаговременно (поэтому он не зависит от устройства / драйвера). Кроме того, хотя это не нарушитель, было бы неплохоне требуют возвышения.UI Automation - Просто запустить приложение «Настройки ПК» и переключить коммутатор с событиями клавиатуры легко, но это ужасно, как с точки зрения правильной практики кодирования, так и с точки зрения пользовательского опыта. Тем не менее, это единственный способ, который я нашел для достижения поведения, которое я ищу до сих пор.

Я пишу нативное приложение Win32 на C ++, поэтому я не ограничен никакими требованиями к приложениям для Магазина Windows, хотя было бы замечательно, если бы существовал подход, не требующий повышения прав.

TL; DR

Существуют ли какие-либо API, интерфейсы WMI или что-либо еще для достижения функционально эквивалентных результатов при переключении переключателя Bluetooth? Если нет, есть ли альтернативные методы, которые дают сходные результаты?

Ответы на вопрос(1)

Ваш ответ на вопрос