Как включить / выключить беспроводное радио в Windows?
Я ищу API для программного включения и выключения беспроводной радиосвязи в Windows, как это делает следующий элемент интерфейса Windows 10:
- Необходимо включить / выключить Wi-Fi, Bluetooth или широкополосный мобильный доступ
- Для Windows 7, 8 и 10
- Это НЕ телефон
- C#/.NET4.5 было бы идеально, но C++/Win32 тоже будет работать
3 ответа
В Windows 10 вы можете использовать API-интерфейсы Radio Manager для управления различными состояниями радиосвязи. Вы можете найти полные примеры приложений здесь (как на C#, так и на C++).
Сначала вам нужно получить доступ ко всем системным радиоприемникам. Это должно быть вызвано в потоке пользовательского интерфейса:
var accessLevel = await Radio.RequestAccessAsync();
Затем вы можете найти все радиостанции в системе (пример описывает другие способы доступа к радиостанциям):
var radios = await Radio.GetRadiosAsync();
Для данного радиообъекта вы можете изменить состояние следующим образом:
Radio radio = SOME_RADIO;
radio.StateChanged = Radio_StateChangedCallback; // Called when the radio state completes the change
radio.SetStateAsync(RadioState.On); // Or RadioState.Off
Итак, в общем, что вам нужно сделать, это перечислить сетевые адаптеры (отфильтровать беспроводные, Bluetooth и мобильные широкополосные сети) и переключить их состояние?
Не удивительно, что есть 3 близких голоса, так как SO полон связанных вопросов и ответов:
Один из них должен стать хорошей отправной точкой, чтобы собрать то, что вам нужно.
Ну, я знаю, что вы можете управлять беспроводным соединением с
netsh interface set interface name="Local Area Connection"
через линию cmd.
Так что, возможно, в C# вы могли бы сделать Process.Start("netsh", "set name=\"Local Area Connection\"");
изменить настройки Wi-Fi. Я уверен, что вы можете скачать утилиту bluetooth cmd line и сделать что-то подобное с этим.
Я смогу протестировать позже, когда доберусь до своего компьютера с Windows, но сейчас не могу, надеюсь, это поможет.