获取当前可使用的网卡并检查网卡设置(网卡的IP,网关,子网掩码,DNS,备用DNS信息)
来源:互联网 发布:澳洲人工智能 编辑:程序博客网 时间:2024/05/17 02:25
public void GetNetAdapter()
{
try
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
try
{
if (Convert.ToBoolean(nic["IPEnabled"]) == true)
{
comboBox1.Items.Add(nic["Caption"].ToString());
}
}
catch (Exception)
{
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "IP地址更改工具", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//如果有网卡,默认选中第一块网卡
if (comboBox1.Items.Count > 0)
{
comboBox1.SelectedIndex = 0;
GetNetInfor(comboBox1.SelectedItem.ToString());
}
}
public void GetNetInfor(string strNetAdapterName)
{
//获取选中的网卡的IP,网关,子网掩码,DNS,备用DNS信息
string strIP, strSubnet, strGateway, strDNS, strDNSBY;
strIP = "0.0.0.0";
strSubnet = "0.0.0.0";
strGateway = "0.0.0.0";
strDNS = "0.0.0.0";
strDNSBY = "0.0.0.0";
try
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
try
{
if (Convert.ToBoolean(nic["IPEnabled"]) == true)
{
if (nic["Caption"].ToString() == strNetAdapterName)
{
if ((nic["IPAddress"] as String[]).Length > 0 )
{
strIP = (nic["IPAddress"] as String[])[0];
}
if ((nic["IPSubnet"] as String[]).Length > 0 )
{
strSubnet = (nic["IPSubnet"] as String[])[0];
}
if ((nic["DefaultIPGateway"] as String[]).Length > 0 )
{
strGateway = (nic["DefaultIPGateway"] as String[])[0];
}
if ((nic["DNSServerSearchOrder"] as String[]).Length > 0 )
{
strDNS = (nic["DNSServerSearchOrder"] as String[])[0];
strDNSBY = (nic["DNSServerSearchOrder"] as String[])[1];
}
}
}
}
catch (Exception)
{
}
}
}
catch (Exception)
{
}
textBox1.Text = strIP;
textBox2.Text = strSubnet;
textBox3.Text = strGateway;
textBox4.Text = strDNS;
textBox5.Text = strDNSBY;
}
有的时候,在ManagementObjectCollection nics = mc.GetInstances();时产生异常。具体内容是“ManagementException 找不到”,输出窗口显示“在 System.Management.ManagementException 中第一次偶然出现的“System.Management.dll”类型的异常”不知道是什么原因。
{
try
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
try
{
if (Convert.ToBoolean(nic["IPEnabled"]) == true)
{
comboBox1.Items.Add(nic["Caption"].ToString());
}
}
catch (Exception)
{
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "IP地址更改工具", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//如果有网卡,默认选中第一块网卡
if (comboBox1.Items.Count > 0)
{
comboBox1.SelectedIndex = 0;
GetNetInfor(comboBox1.SelectedItem.ToString());
}
}
public void GetNetInfor(string strNetAdapterName)
{
//获取选中的网卡的IP,网关,子网掩码,DNS,备用DNS信息
string strIP, strSubnet, strGateway, strDNS, strDNSBY;
strIP = "0.0.0.0";
strSubnet = "0.0.0.0";
strGateway = "0.0.0.0";
strDNS = "0.0.0.0";
strDNSBY = "0.0.0.0";
try
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
try
{
if (Convert.ToBoolean(nic["IPEnabled"]) == true)
{
if (nic["Caption"].ToString() == strNetAdapterName)
{
if ((nic["IPAddress"] as String[]).Length > 0 )
{
strIP = (nic["IPAddress"] as String[])[0];
}
if ((nic["IPSubnet"] as String[]).Length > 0 )
{
strSubnet = (nic["IPSubnet"] as String[])[0];
}
if ((nic["DefaultIPGateway"] as String[]).Length > 0 )
{
strGateway = (nic["DefaultIPGateway"] as String[])[0];
}
if ((nic["DNSServerSearchOrder"] as String[]).Length > 0 )
{
strDNS = (nic["DNSServerSearchOrder"] as String[])[0];
strDNSBY = (nic["DNSServerSearchOrder"] as String[])[1];
}
}
}
}
catch (Exception)
{
}
}
}
catch (Exception)
{
}
textBox1.Text = strIP;
textBox2.Text = strSubnet;
textBox3.Text = strGateway;
textBox4.Text = strDNS;
textBox5.Text = strDNSBY;
}
有的时候,在ManagementObjectCollection nics = mc.GetInstances();时产生异常。具体内容是“ManagementException 找不到”,输出窗口显示“在 System.Management.ManagementException 中第一次偶然出现的“System.Management.dll”类型的异常”不知道是什么原因。
- 获取当前可使用的网卡并检查网卡设置(网卡的IP,网关,子网掩码,DNS,备用DNS信息)
- FreeBSD 设置网卡IP,网关和DNS
- FreeBSD 设置网卡IP,网关和DNS
- FreeBSD 设置网卡IP,网关和DNS
- FreeBSD 设置网卡IP,网关和DNS
- CentOS 网卡、网关、DNS、IP设置
- 分清ip地址、子网掩码、网关与网卡、DNS的区别及用处
- c#获取和设置网卡ip/dns等信息
- C# 获取IPV4地址,网关,子网掩码,网卡信息的方法
- 获取wifi的ip,子网掩码,网关,dns之类的信息
- android获取wifi的IP,子网掩码,网关,dns等信息
- android获取wifi的IP,子网掩码,网关,dns等信息
- android获取wifi的IP,子网掩码,网关,dns等信息
- ubuntu shell下设置网卡ip地址,网关,dns的方法
- 获取并修改本机的ip,网关,dns,子网掩码等信息
- 使用WMI控制网络适配器的类(获取所有启用的网络适配器及其信息。设置IP、子网掩码,网关,DNS)
- fedora 设置网卡 网关及DNS
- 获取网卡,网络设置,ip设置,dns,wins
- 一定要看的 Android 资源目录的相关知识
- rfc4893
- 模板
- VC数据库ADO技术,好文章
- Spring横切面(advice),增强(advisor),切入点(PointCut)
- 获取当前可使用的网卡并检查网卡设置(网卡的IP,网关,子网掩码,DNS,备用DNS信息)
- rfc
- 老SDRAM和DDR SDRAM时序图与信号完整性仿真结合运用(2) -版本博客图片丢失,增加图片后又不能上传,shit.
- spring在ssh中的作用
- Fedora利用yum安装卸载软件常用命令
- 去除jsp缓存
- 4.2.3. Processing Received Updates
- css的精髓是布局,而不是样式——之二
- 6