您的位置:首页 > 编程语言 > C#

C#实现更改IP功能源码

2008-02-01 09:23 483 查看
[align=left]using System;[/align]
[align=left]using System.Management;[/align]
[align=left] [/align]
[align=left]public class ChangeIP[/align]
[align=left]{[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] private ManagementBaseObject iObj = null;[/align]
[align=left] private ManagementBaseObject oObj = null;[/align]
[align=left] private ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");[/align]
[align=left] private readonly ManagementObjectCollection moc;[/align]
[align=left] [/align]
[align=left] ///<summary>[/align]
[align=left] /// example: [/align]
[align=left] ///<code>[/align]
[align=left] /// ChangeIP o = new ChangeIP(); [/align]
[align=left] /// string[] ipList = new string[]{"192.168.0.253","192.168.0.250"}; [/align]
[align=left] /// string[] subnetList = new string[]{"255.255.255.0","255.255.255.0"}; [/align]
[align=left] /// o.ChangeTo(ipList,subnetList); [/align]
[align=left] ///</code>[/align]
[align=left] ///</summary>[/align]
[align=left] public ChangeIP()[/align]
[align=left] {[/align]
[align=left] moc = mc.GetInstances();[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] ///<summary>cortrol</summary>[/align]
[align=left] ///<param name="ipAddr">IPAddr List</param>[/align]
[align=left] ///<param name="subnetMask">subnetMask List</param>[/align]
[align=left] public void ChangeTo(string[] ipAddr, string[] subnetMask)[/align]
[align=left] {[/align]
[align=left] foreach (ManagementObject mo in moc)[/align]
[align=left] {[/align]
[align=left] if (!(bool)mo["IPEnabled"]) continue;[/align]
[align=left] [/align]
[align=left] iObj = mo.GetMethodParameters("EnableStatic");[/align]
[align=left] iObj["IPAddress"] = ipAddr;[/align]
[align=left] iObj["SubnetMask"] = subnetMask;[/align]
[align=left] oObj = mo.InvokeMethod("EnableStatic", iObj, null);[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] ///<summary>cortrol</summary>[/align]
[align=left] ///<param name="ipAddr">IPAddr List</param>[/align]
[align=left] ///<param name="subnetMask">subnetMask List</param>[/align]
[align=left] ///<param name="gateways">gateway List</param>[/align]
[align=left] ///<param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>[/align]
[align=left] public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric)[/align]
[align=left] {[/align]
[align=left] foreach (ManagementObject mo in moc)[/align]
[align=left] {[/align]
[align=left] if (!(bool)mo["IPEnabled"]) continue;[/align]
[align=left] [/align]
[align=left] iObj = mo.GetMethodParameters("EnableStatic");[/align]
[align=left] iObj["IPAddress"] = ipAddr;[/align]
[align=left] iObj["SubnetMask"] = subnetMask;[/align]
[align=left] oObj = mo.InvokeMethod("EnableStatic", iObj, null);[/align]
[align=left] [/align]
[align=left] iObj = mo.GetMethodParameters("SetGateways");[/align]
[align=left] iObj["DefaultIPGateway"] = gateways;[/align]
[align=left] iObj["GatewayCostMetric"] = gatewayCostMetric;[/align]
[align=left] oObj = mo.InvokeMethod("SetGateways", iObj, null);[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] ///<summary>cortrol</summary>[/align]
[align=left] ///<param name="ipAddr">IPAddr List</param>[/align]
[align=left] ///<param name="subnetMask">subnetMask List</param>[/align]
[align=left] ///<param name="gateways">gateway List</param>[/align]
[align=left] ///<param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>[/align]
[align=left] ///<param name="dnsServer">DNSServer List</param>[/align]
[align=left] public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric, string[] dnsServer)[/align]
[align=left] {[/align]
[align=left] foreach (ManagementObject mo in moc)[/align]
[align=left] {[/align]
[align=left] if (!(bool)mo["IPEnabled"]) continue;[/align]
[align=left] [/align]
[align=left] iObj = mo.GetMethodParameters("EnableStatic");[/align]
[align=left] iObj["IPAddress"] = ipAddr;[/align]
[align=left] iObj["SubnetMask"] = subnetMask;[/align]
[align=left] oObj = mo.InvokeMethod("EnableStatic", iObj, null);[/align]
[align=left] [/align]
[align=left] iObj = mo.GetMethodParameters("SetGateways");[/align]
[align=left] iObj["DefaultIPGateway"] = gateways;[/align]
[align=left] iObj["GatewayCostMetric"] = gatewayCostMetric;[/align]
[align=left] oObj = mo.InvokeMethod("SetGateways", iObj, null);[/align]
[align=left] [/align]
[align=left] iObj = mo.GetMethodParameters("SetDNSServerSearchOrder");[/align]
[align=left] iObj["DNSServerSearchOrder"] = dnsServer;[/align]
[align=left] oObj = mo.InvokeMethod("SetDNSServerSearchOrder", iObj, null);[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] ///<summary>DHCPEnabled</summary>[/align]
[align=left] public void EnableDHCP()[/align]
[align=left] {[/align]
[align=left] foreach (ManagementObject mo in moc)[/align]
[align=left] {[/align]
[align=left] if (!(bool)mo["IPEnabled"]) continue;[/align]
[align=left] [/align]
[align=left] if (!(bool)mo["DHCPEnabled"])[/align]
[align=left] {[/align]
[align=left] iObj = mo.GetMethodParameters("EnableDHCP");[/align]
[align=left] oObj = mo.InvokeMethod("EnableDHCP", iObj, null);[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left] [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: