3

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

4

2 回答 2

4

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

现在,您可以通过使用Windows.Networking.NetworkOperators 命名空间中的一些功能来确定状态。具体来说,查看MobileBroadbandRadioStateNetworkDeviceStatus枚举。

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

于 2012-07-26T15:38:00.847 回答
2

这是获取 NetworkConnectivityLevel 的代码片段,它可能会为您提供您需要知道的内容。不知道有没有办法改变。我会怀疑它,因为您还需要提供一种方法来选择要连接的网络。

    public static NetworkConnectivityLevel GetNetworkConnectivityLevel()
    {
        ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile();

        var ncl = NetworkConnectivityLevel.None;

        if (profile != null)
        {
            ncl = profile.GetNetworkConnectivityLevel();
        }

        return ncl;
    }
于 2012-08-21T14:30:37.837 回答