Как проверить / переключить режим полета программно в 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;
    }
Другие вопросы по тегам