C#从给定适配器获取网络适配器信息

时间:2016-04-05 08:52:39

标签: c# network-programming

我需要获取IP地址,子网掩码,网关,DNS并检查是否从给定的适配器启用了DHCP。 我有这个代码加载我的以太网和无线适配器:

   public void LoadAdapters()
    {            
        if (cmb1_adaptadores.Items.Count < 1)
        {
            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface adapter in adapters)
            {
                var ipProps = adapter.GetIPProperties();
                IPInterfaceProperties properties = adapter.GetIPProperties();                    
                if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                {
                    cmb1_adaptadores.Items.Add(adapter.Description);
                }
            }
        }
        cmb1_adaptadores.SelectedIndex = 0; 
    }

我找到了许多使用foreach和循环的示例代码来获取每个适配器ip,dns等。 我需要一个更容易的事情,但我不知道如何处理它。

使用我的组合框中的适配器描述,我想用适配器信息填充一些标签,我的意思是:

If (adapter.description == cmb1_adaptadores.SelectedItem)
{
labelIP1 = adapter...
labelGATEWAY1 = adapter...
}

当然它会比简单的if更复杂,但是这样每次选择一个新项目时,这个方法都会使用在组合框中选择的描述运行来引用适配器。

0 个答案:

没有答案
相关问题