2

たとえば、次のコードは切断された ppp/3G モデム アダプタを返しません (必要なのはそれだけです)。

foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) 
{ 
    value = nic.Name; 
}

ほとんどのプログラミング言語でネット全体を検索しましたが、これを行う方法が見つかりませんでした。助けてください。

4

2 に答える 2

2

Win32_NetworkAdapterConfiguration を使用して、すべてのネットワーク アダプター (非表示または接続されていないものも含む) を取得できます。以下のコードを使用する場合は、System.Management が含まれていることを確認してください。

これらをリストにスローし、それを繰り返し処理して名前を取得する方法の簡単な例を次に示します。

public static IEnumerable<ManagementObject> GetAllAdaptors() {
    var tempList = new List<ManagementObject>();

    ManagementObjectCollection moc = 
        new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances();

    foreach(ManagementObject obj in moc) {
        tempList.Add(obj);
    }

    return tempList;
} 

上記は、すべてのネットワーク アダプタのリストを返します。名前を取得するには、以下に示すようにリストを反復処理するだけです。

foreach(ManagementObject obj in GetAllAdapters()) {
    var name = obj["Caption"];
}

これにより、非表示、切断、接続されたすべてのアダプターが取得されます。基本的に、「非表示を表示」がチェックされた状態でデバイスマネージャーに表示されるすべてのもの。

于 2014-10-27T21:44:22.420 に答える