2

クラウド バックアップ ソフトウェアを開発中です。アプリケーションは、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 接続を ADSL または 3G のいずれかの PPP としてリストしています。他のオプションや API を使用して差別化できるかどうかわからない

これらのネットワークを明確に区別する方法が必要ですが、今のところその方法が見つかりません。

誰か助けてくれませんか?

4

1 に答える 1

1

ネイティブ WiFi 関数を使用して WiFi インターフェイス (WlanEnumInterfaces) を取得し、モバイル ブロードバンド API を使用して 3G インターフェイス (IMbnInterfaceManager.GetInterfaces) を取得します。新しい 3G モデムは、モバイル ブロードバンド API をサポートする必要があります。

于 2012-12-24T16:46:13.053 に答える