2009-05-11 10 views
4

アクティブネットワーク接続のネットワーク接続のリンク速度をプログラム的に決定するにはどうすればよいですか?タスクマネージャで[ネットワーク]タブに表示されますか?私は実際に帯域幅が利用可能ではなく、現在の接続の数字だけです。 54Mbps、100Mbpsなどネットワーク接続のリンク速度を確認する

+0

システムに複数のアダプタがある場合はどうなりますか?単一の「アクティブなネットワーク接続」という概念はありません。 –

+0

類似:http://stackoverflow.com/questions/849375/determine-network-interface-bandwidth-type-without-transferring-data – lothar

答えて

2

私は残念ながら、Win32_NetworkAdapterは行いません、レガシープラットフォームをサポートする必要があるとして、最後に、私は、Win32_PerfRawData_Tcpip_NetworkInterface WMIクラスを発見しました。 Win32_PerfRawData_Tcpip_NetworkInterfaceCurrentBandwidthプロパティを持っています。私は必要なすべてのプラットフォームで必要なものを提供しています(私は "帯域幅"は必要ないと言っていましたが、受け入れ可能で、アダプタの "nominal bandwidth"

投稿したすべての人に感謝し、私を正しい方向に向ける。

2

Win32_NetworkAdapter WMIクラスがお手伝いします(Speedプロパティ)。 WiFi-gアクセスポイントに接続されたWiFiアダプタの値54000000を返します。その速度はより多くの情報については、MSDNの0 読むNetworkInterfaceドキュメントとして返されますので、アダプタの速度を知るためにどのように

+0

返信いただきありがとうございます。残念ながら、そのプロパティの説明では、「このプロパティはまだ実装されていません。デフォルトではNULL値が返されます。 – binarybob

+0

あなたはMaxSpeedについて正しいです。私はSpeedプロパティで作業したことを覚えています。私は速度がVistaとWindows 7で動作すると確信しています。 –

0

.NET方法は、

IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties(); 
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); 
if (nics != null) 
    for (int i = 0; i < nics.Length; i++) 
     Console.WriteLine("Adapter '{0}' speed : {1}", nics[i].Name, nics[i].Speed); 

一部のアダプタがトンネルしているです。

関連する問題