繁体   English   中英

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

[英]Detecting a 3G connection in Windows 7 and 8 in a desktop application

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

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

我似乎无法找到任何有关如何实现此目标的示例,其中有一些适用于Windows Phone和Windows Store Apps的示例,但是我找不到任何可以检查连接类型是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来区分

我需要一种清晰的方法来区分这些网络,到目前为止,我还没有找到这样做的方法。

有人可以帮忙吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM