1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| // 定义IP变量
List<string> ip = new List<string>();
string strIp = mtxtAddress.Text.ToString().Replace(" ", "");
// 判断IP是否为空
if (strIp.Equals("..."))
{
MessageBox.Show("Ip Address Can Not Empty!");
return;
}
ip.Add(strIp);
//子网掩码,网关,DNS相关变量请自行定义
......
// 调用更新IP函数
ChangeIP c = new ChangeIP();
c.SetNetworkAdapterByList(ip, subNetMask, gateway, dns); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| public void SetNetworkAdapter(List<string> ipAddr,
List<string> subnetMask,
List<string> gateways,
List<string> dnsServer)
{
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;
//设置ip地址和子网掩码
inPar = mo.GetMethodParameters("EnableStatic");
inPar["IPAddress"] = ipAddr.ToArray();
inPar["SubnetMask"] = subnetMask.ToArray();
outPar = mo.InvokeMethod("EnableStatic", inPar, null);
//设置网关地址
inPar = mo.GetMethodParameters("SetGateways");
inPar["DefaultIPGateway"] = gateways.ToArray();
outPar = mo.InvokeMethod("SetGateways", inPar, null);
//设置DNS
inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
inPar["DNSServerSearchOrder"] = dnsServer.ToArray();
outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
break;
}
} 【 Win32_NetworkAdapterConfiguration :http://msdn.microsoft.com/en-us/library/aa394217.aspx】 【http://www.microsoft.com/china/technet/community/scriptcenter/topics/networking/01_atnc_intro.mspx】 |
转载于:https://www.cnblogs.com/GT_Andy/archive/2009/04/23/1922095.html