`
javababy1
  • 浏览: 1243228 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

C#实现更改IP功能源码

阅读更多

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地址数据库源码(十分经典)

    3. IP地址解析:C#中的`System.Net.IPAddress`类提供了IP地址的解析和比较功能。通过`IPAddress.Parse()`或`IPAddress.TryParse()`方法,可以从字符串形式转换为`IPAddress`对象,然后与数据库中的IP范围进行比较。 ...

    C#制作IP地址控件(IP、子网掩码、网关、DNS)源码

    C#制作IP地址控件(IP、子网掩码、网关、DNS)源码。生成的是dll文件,使用时加载到工具栏即可。 默认为IP地址,如果需要设置为子网掩码、网关等,更改控件属性iIPType即可。 源码、生成文件均在压缩包内

    一个用c#开发的更改IP的程序代码

    本项目是一个使用C#编写的程序,其主要功能是更改计算机的IP地址,使得用户能够方便地在两个不同的IP地址之间进行切换。这对于需要在多个网络环境之间频繁切换的用户来说非常实用,例如在开发、测试或网络管理场景。...

    C# 改变本机IP源码

    标题“C#改变本机IP源码”表明我们将讨论如何使用C#编程来实现这一功能。 在描述中,`SetNetw...`很可能是一个未完全显示的方法名,它可能被设计用于设置网络配置,包括IP地址。在C#中,这通常涉及到对Windows操作...

    C#winformIP修改工具源码

    C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改工具源码C#winformIP修改...

    C# TCP/IP 源码 双工

    总的来说,这个C# TCP/IP双工通信源码提供了学习网络编程的基础,可以帮助开发者理解如何在实际应用中构建可靠的数据传输通道。通过分析和修改这两个项目,你可以深入理解TCP/IP通信机制,并将其应用到更复杂的项目...

    c#局域网IP扫描源码

    另一个文件"SendCsharp"可能是一个C#项目的源代码文件,可能包含了实现IP扫描功能的主要代码。 在C#中进行局域网IP扫描,一般会使用`System.Net.NetworkInformation`命名空间下的类,如`NetworkInterface`和`...

    C#IP地址切换源码

    本篇文章将详细讲解如何利用C#实现IP地址的切换功能,以及涉及的相关知识点。 首先,我们需要理解IP地址在网络中的作用。IP地址(Internet Protocol Address)是互联网上的每个设备的唯一标识,它允许数据在网络中...

    C# 自动更换IP 实例源码(网络操作)

    在C#中,这通常需要调用操作系统提供的API函数,因为.NET Framework并没有直接提供修改IP地址的接口。 3. **系统调用与权限**:在修改网络配置时,通常需要管理员权限。在C#中,可以使用`System.Diagnostics....

    C# 浏览器换代理IP的源码

    根据给定的文件标题、描述、标签以及部分内容,我们可以总结出以下关于“C# 浏览器换代理IP的源码”的相关知识点: ### C# 语言基础与库的运用 在C#编程环境中,使用多种系统命名空间是构建复杂应用的基础。本段...

    C#实现Http post方式 服务端+客户端源码

    C#实现Http post方式 服务端+客户端源码,修改成你的ip端口,直接运行可用 【核心代码】 //提供一个简单的、可通过编程方式控制的 HTTP 协议侦听器。此类不能被继承。 httpobj = new HttpListener(); //定义url及...

    C# IP包抓取源码

    总的来说,"C# IP包抓取源码"项目是一个实用的网络监控工具,利用C#和相关库来实现对内网数据包的捕获和分析。开发者可以借此学习网络编程、数据包分析以及C#与底层系统交互的技巧。如果你对网络监控或网络诊断有...

    C# IP地址切换源码

    本篇将详细探讨C#中处理IP地址切换的相关知识点,以及如何实现一个实用的IP地址切换源码。 首先,我们需要了解在Windows操作系统中,网络接口(如以太网、无线网络等)的IP地址是由`Windows Network Foundation ...

    c# 自动修改计算机名、Ip、网关(源码)

    C#中没有直接的API可以修改IP地址,通常需要借助于`System.Net.NetworkInformation`命名空间中的`IPInterfaceProperties`类和`UnicastIPAddressInformation`类。通过`GetAllNetworkInterfaces()`获取网络接口,然后...

    C# IP配置工具 含源码

    标题中的"C# IP配置工具 含源码"指的是一个基于C#编程语言开发的软件,其主要功能是帮助用户管理和配置IP地址。这个工具可能是为了简化网络管理员或开发者的工作流程而设计的,允许用户在无需深入操作系统底层设置的...

    C#自动切换IP(源码)

    现在上班的朋友,大多数是用笔记本的,一般公司里的网络配置和家里的不太一样。 每天上班到公司要改成公司的ip,下班回家又要换成家里的ip,如果每天手工的进行修改很麻烦,倒不如开发个开机自动配置IP地址的东东

    C#与西门子1200以太网通讯源码

    压缩包内的文件 "Socket2019" 很可能包含了实现以上功能的C#源代码,包括类库、方法以及可能的配置文件。通过阅读和分析这些代码,可以学习到如何构建一个完整的C#与S7-1200 PLC的通讯程序,包括建立连接、发送指令...

    c#upd穿透局域网源码

    标题中的“C# UDP穿透局域网源码”是指使用C#编程语言实现的一种UDP(User Datagram Protocol)网络通信技术,旨在允许通过局域网进行数据传输,甚至可能尝试突破局域网的限制,实现跨网络的通信。UDP是一种无连接的...

    自动更换IP C#源码

    C#作为一款强大的编程语言,提供了丰富的库和API来实现这一功能。本篇将深入探讨如何使用C#编写自动更换IP的源码。 首先,我们需要理解IP更换的基本原理。通常有两种方式:一种是通过代理服务器进行IP切换,另一种...

    20个C#项目实战开发及项目源码(全部源码)

    在本资源中,你将获得20个C#项目的实战开发源码,这些项目涵盖了C#编程语言在实际应用中的多种场景,对于学习和提升C#编程技能具有很高的...同时,也可以尝试修改源码,实现自己的功能扩展,进一步加深对C#编程的理解。

Global site tag (gtag.js) - Google Analytics