gpt4 book ai didi

c# - 在桌面应用程序中检测 Windows 7 和 8 中的 3G 连接

转载 作者:可可西里 更新时间:2023-11-01 10:38:03 28 4
gpt4 key购买 nike

我正在开发一个云备份软件。该应用程序是使用 C# 开发的桌面应用程序。

如果计算机连接到 3G 网络,我需要添加一个选项来停止/暂停备份,以节省用户的成本。

我似乎找不到任何关于如何实现这一点的例子,有一些 Windows Phone 和 Windows 应用商店应用的例子,但我找不到任何可以检查连接类型是 WiFi/以太网还是 3G 的东西后者是我主要关心的问题。

我尝试了一个测试应用程序来枚举网络:

Console.WriteLine("checking network interfaces\n");

NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();

foreach (var networkInterface in interfaces)
{
Console.WriteLine("Interface Detected");
Console.WriteLine("Description: "+networkInterface.Description);
Console.WriteLine("ID: " + networkInterface.Id);
Console.WriteLine("Name: " + networkInterface.Name);
Console.WriteLine("Interface Type: " + networkInterface.NetworkInterfaceType);
Console.WriteLine("Operational Status: " + networkInterface.OperationalStatus.ToString());
Console.WriteLine("Speed: " + networkInterface.Speed.ToString());
Console.WriteLine("Supports Multicast: " + networkInterface.SupportsMulticast.ToString());
Console.WriteLine("#########################################################\n");
}

上面的代码将我的 3G 连接列为 PPP,可以是 ADSL 或 3G。我不确定是否可以使用其他一些选项或 API 来区分

我需要一种明确的方法来区分这些网络,但到目前为止我找不到这样做的方法。

有人可以帮忙吗?

最佳答案

使用 native WiFi 函数获取 WiFi 接口(interface) (WlanEnumInterfaces),使用移动宽带 API 获取 3G 接口(interface) (IMbnInterfaceManager.GetInterfaces)。较新的 3G 调制解调器应支持移动宽带 API。

关于c# - 在桌面应用程序中检测 Windows 7 和 8 中的 3G 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14021224/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com