Как проверить / переключить режим полета программно в Windows 8?
Я должен проверить, включен ли режим полета в Windows 8 и, возможно, переключить его состояние. В настоящее время я работаю над приложением C# .NET 4.0 для Windows Forms, но ответы на этот вопрос не должны ограничиваться этим.
2 ответа
К сожалению, для приложений Metro нет программного способа изменить режим полета в Windows 8. Это противоречит рекомендациям Metro для приложения выходить за пределы своей песочницы и изменять настройки системы, как это, без разрешения пользователя (см. Обсуждение в http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/1ad10725-b1b8-4723-b2c3-861900809e02).
Теперь вы можете выяснить состояние, используя некоторые функции в пространстве имен Windows.Networking.NetworkOperators. В частности, проверьте перечисления MobileBroadbandRadioState и NetworkDeviceStatus.
Или вы можете предложить пользователю внести изменения, объяснив, как получить доступ к настройке с помощью Windows Key + I, Изменить настройки ПК, Беспроводная связь, Режим полета.
Вот фрагмент кода для получения NetworkConnectivityLevel, который, скорее всего, даст вам то, что вам нужно знать. Я не знаю, есть ли способ изменить это. Я сомневаюсь в этом, потому что вам нужно будет также указать способ подключения к сети.
public static NetworkConnectivityLevel GetNetworkConnectivityLevel()
{
ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile();
var ncl = NetworkConnectivityLevel.None;
if (profile != null)
{
ncl = profile.GetNetworkConnectivityLevel();
}
return ncl;
}