如何在Windows 8中以编程方式检查/切换飞行模式



我必须检查飞行模式是否在Windows 8中启用,并可能切换其状态。我目前正在开发一个C#.NET 4.0 Windows窗体应用程序,但这个问题的答案不应该局限于此。

不幸的是,Metro应用程序在Windows 8中没有通过编程方式更改飞行模式。应用程序在未经用户许可的情况下超出其沙箱并修改这样的系统设置是违反Metro指南的(请参阅上的讨论http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/1ad10725-b1b8-4723-b2c3-861900809e02)。

现在,您可以使用Windows.Networking.NetworkOperators命名空间中的一些功能来了解状态。具体来说,请检查MobileBBroadbandRadioState和NetworkDeviceStatus枚举。

或者,您可以通过解释如何使用Windows Key+I、更改PC设置、无线、飞行模式访问设置来提示用户进行更改。

以下是获取NetworkConnectivityLevel的代码片段,它可能会为您提供所需信息。我不知道是否有办法改变它。我会怀疑它,因为你还需要提供一种选择网络连接的方法。

    public static NetworkConnectivityLevel GetNetworkConnectivityLevel()
    {
        ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile();
        var ncl = NetworkConnectivityLevel.None;
        if (profile != null)
        {
            ncl = profile.GetNetworkConnectivityLevel();
        }
        return ncl;
    }

最新更新