项目右键,添加对System.Management的引用
using System.Management;
MessageBox.Show((nic["IPAddress"] as String[])[0]);
MessageBox.Show((nic["IPSubnet"] as String[])[0]);
MessageBox.Show((nic["DefaultIPGateway"] as String[])[0]);
----------------------------------------------
public string getdns1()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
if (Convert.ToBoolean(nic["ipEnabled"]) == true)
{
try
{
return (nic["DNSServerSearchOrder"] as String[])[0];
}catch
{
return "Dns设置ing";
}
}
}
return null;
}
----------------------------------------------
void setdns(string[] dns)
{
ManagementBaseObject inPar = null;
// ManagementBaseObject outPar = null;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
inPar["DNSServerSearchOrder"] = dns; //设置DNS 1.DNS 2.备用DNS
mo.InvokeMethod("SetDNSServerSearchOrder", null);
mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);// 执行
break; //只设置一张网卡,不能多张。
}
}