问题 在桌面应用程序中的Windows 7和8中检测3G连接

红蛇7

新成员
已加入
2012年12月24日
留言内容
1
编程经验
3-5
我正在开发云备份软件。该应用程序是使用C#开发的桌面应用程序。
如果计算机连接到3G网络,我需要添加一个选项来停止/暂停备份,以节省用户费用。
我似乎无法找到任何有关如何实现此目标的示例,其中有一些适用于Windows Phone和Windows Store应用程序的示例,但找不到任何可以检查连接类型是WiFi /以太网还是3G的示例。我主要关心的是
我尝试了一个测试应用程序来枚举网络:
C#:
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来区分
我需要一种清晰的方法来区分这些网络,到目前为止,我还没有找到这样做的方法。
有人可以帮忙吗?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,563
地点
悉尼,澳大利亚
编程经验
10+
我不知道您问题的答案,但是,就像没有其他人一样,我将建议发现这种信息的最可能方法是使用WMI,WMI是通过System.Management命名空间使用的。那会给你一些调查的机会。
 
最佳 底部