using System;
using System.Management;
public class ChangeIP
{
private ManagementBaseObject iObj = null;
private ManagementBaseObject oObj = null;
private ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
private readonly ManagementObjectCollection moc;
///<summary>
/// example:
///<code>
/// ChangeIP o = new ChangeIP();
/// string[] ipList = new string[]{"192.168.0.253","192.168.0.250"};
/// string[] subnetList = new string[]{"255.255.255.0","255.255.255.0"};
/// o.ChangeTo(ipList,subnetList);
///</code>
///</summary>
public ChangeIP()
{
moc = mc.GetInstances();
}
///<summary>cortrol</summary>
///<param name="ipAddr">IPAddr List</param>
///<param name="subnetMask">subnetMask List</param>
public void ChangeTo(string[] ipAddr, string[] subnetMask)
{
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters("EnableStatic");
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null);
}
}
///<summary>cortrol</summary>
///<param name="ipAddr">IPAddr List</param>
///<param name="subnetMask">subnetMask List</param>
///<param name="gateways">gateway List</param>
///<param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>
public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric)
{
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters("EnableStatic");
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null);
iObj = mo.GetMethodParameters("SetGateways");
iObj["DefaultIPGateway"] = gateways;
iObj["GatewayCostMetric"] = gatewayCostMetric;
oObj = mo.InvokeMethod("SetGateways", iObj, null);
}
}
///<summary>cortrol</summary>
///<param name="ipAddr">IPAddr List</param>
///<param name="subnetMask">subnetMask List</param>
///<param name="gateways">gateway List</param>
///<param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>
///<param name="dnsServer">DNSServer List</param>
public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric, string[] dnsServer)
{
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters("EnableStatic");
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null);
iObj = mo.GetMethodParameters("SetGateways");
iObj["DefaultIPGateway"] = gateways;
iObj["GatewayCostMetric"] = gatewayCostMetric;
oObj = mo.InvokeMethod("SetGateways", iObj, null);
iObj = mo.GetMethodParameters("SetDNSServerSearchOrder");
iObj["DNSServerSearchOrder"] = dnsServer;
oObj = mo.InvokeMethod("SetDNSServerSearchOrder", iObj, null);
}
}
///<summary>DHCPEnabled</summary>
public void EnableDHCP()
{
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["IPEnabled"]) continue;
if (!(bool)mo["DHCPEnabled"])
{
iObj = mo.GetMethodParameters("EnableDHCP");
oObj = mo.InvokeMethod("EnableDHCP", iObj, null);
}
}
}
}
分享到:
相关推荐
C#操作IP地址数据库源码(十分经典)
C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改...
一个用c#开发的更改IP的程序代码,自己写的用的,可以轻松的切换两个不同的ip
C#制作IP地址控件(IP、子网掩码、网关、DNS)源码。生成的是dll文件,使用时加载到工具栏即可。 默认为IP地址,如果需要设置为子网掩码、网关等,更改控件属性iIPType即可。 源码、生成文件均在压缩包内
通过c#语言功能,修改电脑的IP地址及DNS.源码。
现在上班的朋友,大多数是用笔记本的,一般公司里的网络配置和家里的不太一样。 每天上班到公司要改成公司的ip,下班回家又要换成家里的ip,如果每天手工的进行修改很麻烦,倒不如开发个开机自动配置IP地址的东东
/// 修改IP等信息 /// </summary>void SetNetw...
利用c#修改当前IP,支持格式 192.168.1.XX,可以看源码,很简单,源码可以
在 http://www.cnblogs.com/luoht/archive/2009/12/18/1627431.html 的源码基础上修改的
自动修改计算机名、Ip、网关(源码),这个忘记上传源码了,补一个!!~
C# IP配置工具(含源码) 用VS2005编写供学习交流,也提供一些方便. 使用时需要.net的框架...(带做毕业设计,承接编程项目)
代理IP用途非常广泛,但是因为其不够稳定所以需要不停的更新,C#源码世界第二季重磅出击,能够自动获取更新代理IP地址并自动校验有效性。 整个项目非常完整,从数据库设计到流程,多线程执行任务。数据库基于...
3.C#操作网卡修改IP地址 4.C#操作系统网卡信息 使用说明 1. 系统必须安装.NET Framework 2.0 或更高的版本 (文件:dotnetfx2.0.exe)。 2. 将压缩包解压即可使用本程序。 3. 必须在管理员权限运行。 4. 如果系统...
修改一下可以直接用于工程~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
修改网络设置源码 C#写的修改网络设置(如ip地址等,不需要重启系统)
C#实现Http post方式 服务端+客户端源码,修改成你的ip端口,直接运行可用 【核心代码】 //提供一个简单的、可通过编程方式控制的 HTTP 协议侦听器。此类不能被继承。 httpobj = new HttpListener(); //定义url及...
C#调用实时摄像头画面源码 无需修改 直接能用 可以在输入IP 账号 密码 之后直接吊 我在后台写死了 也可以自己在窗体上自己加几个text按钮 代码有 只不过被注释了 好用!!
C#实现获取局域网内所有计算机的IP地址和MAC地址的控制台应用程序源码 程序启动时首先获取本机的IP和MAC地址; 然后获取局域网内所有计算机的IP地址; 输入IP地址回车,获取该IP的MAC地址; 输入“STARTSCAN”回车...
.net winform c# ip msg 飞鸽传书 局域网 内部 即时消息 发送 接受 传文件 源码 也是把别人的代码进行修改的。修改了发现的bug。 如果大家还有觉得要改的地方。请告诉我。
IP修改器源码看名字就知道干什么了易语言源码