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

关于几种设置IP方式的尝试

阅读更多
  以前修改IP用的IPHelper这个软件,非常好用,但总有几个地方感觉不爽。最最最重要的就是往注册表添加了很多东西,这对我这个绿色软件爱好者来说就是个灾难,于是决定手工做个类似的东西方便自己。

  在网上一顿猛查,总的来说有一下几种方式:
  1。注册表+DhcpNotifyConfigChange。详细的文章见:http://www.vckbase.com/document/viewdoc/?id=851。这个是见的比较多的方式。由此也略微知道了iphelper这个库。缺点就是这个函数是不公开的,而且需要对相关的注册表项比较了解。而且改成自动获取没有函数提供。
  2。AddIPAddress  & DeleteIPAddress  。这2个也是iphelper提供的函数。缺点也这2个基本上就是成对出现的。。。直接由静态的改成dhcp方式的话比较郁闷。
  3。netsh方式。这个也是最开始软件提到的方式。优点是比较简单强大,用ShellExecute就可以搞定。缺点是。。。。依赖一个外部的总有点那么不太爽。。。。顺便记录下dump的方式:
netsh>interface ip
netsh interface ip>dump
//执行脚本用
netsh exec aaa.sh

下面是一个配置的例子

# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip


# "本地连接" 的接口 IP  配置

set address name="本地连接" source=static addr=192.168.4.189 mask=255.255.255.0
add address name="本地连接" addr=10.1.1.241 mask=255.255.255.0
set address name="本地连接" gateway=10.1.1.254 gwmetric=1
set dns name="本地连接" source=static addr=219.235.127.1 register=PRIMARY
add dns name="本地连接" addr=202.97.224.68 index=2
set wins name="本地连接" source=static addr=none

# "无线网络连接" 的接口 IP  配置

set address name="无线网络连接" source=dhcp
set dns name="无线网络连接" source=dhcp register=PRIMARY
set wins name="无线网络连接" source=dhcp


popd
# 接口 IP 配置结束


  4。WMI。老实说我是第一次接触这玩意。我一个同事先前写过这玩意,但我向他要代码参考的时候他说忘了。。。  不过给了一个代码片段,然后一顿翻msdn有点明白了。。。
  主要是Win32_NetworkAdapterConfiguration 这个托管类,里面有些参数和方法。唯一的缺点就是。。。设置的那块网卡必须连通才行。。。这个也让我很郁闷。

//获取托管的
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
                //获取属性,另一种写法是mo.GetPropertyValue("");
     if ((bool)mo["IPEnabled"] == true)
     {
         string s =mo["Description"].ToString();

         this.Adapters.Items.Add(s);
         AdapterMap.Add(s, mo);
                    
      }
                
                   
}
//这个是调用对应的方法
string[] ips = Ip.Text.Split(new char[] { ' ' });
string[] masks = Mask.Text.Split(new char[] { ' ' });
string[] gws = Gateway.Text.Split(new char[] { ' ' });
UInt32 r1 = (UInt32)mo.InvokeMethod("EnableStatic", new object[] { ips, masks });


由于没系统学过c#,都是照着java的葫芦画c#的瓢,呵呵

以上也是对自己翻了几天的资料的一点小小的总结。最后选择用c#胡乱写了一个。。。顺便又复习了下xml的操作和xpath。感觉c#还是挺方便的。。。至少比mfc那个画界面容易。。。
  • 大小: 24.9 KB
分享到:
评论

相关推荐

    几种常见的路由器的设置方法

    ### 几种常见的路由器设置方法详解 #### 一、D-Link DI-740P 路由器设置步骤 ##### 1. 登录路由器管理界面 - 将计算机的IP地址设置为与路由器同一网段,例如:192.168.0.2。 - 打开计算机上的浏览器,在地址栏输入...

    更改本机ip程序并尝试连接网络

    在IT行业中,网络连接是日常操作的重要组成部分,而“更改本机IP程序并尝试连接网络”的过程涉及到几个关键的知识点,这些知识点对于理解和处理网络连接问题至关重要。首先,我们需要了解IP地址在网络通信中的作用,...

    如何设置显别人的IP

    目前,最常用的两种IP地址格式为IPv4与IPv6。IPv4地址由四个十进制数字组成,每个数字介于0到255之间,中间用点分隔;而IPv6则采用16进制数字表示,由8组四个16进制数字组成。 #### 显示他人IP地址的需求场景 通常...

    立显LED时钟IP设置软件ledsup.rar

    立显LED时钟IP设置软件是一款专为立显光电LED电子时钟设计的网络配置工具。此软件的主要功能是帮助用户对LED时钟进行网络参数的设定,以便实现与NTP(Network Time Protocol)服务器的时钟同步。NTP是一种在互联网上...

    新北洋 BTP-L540H打印机修改IP地址程序

    BPLZ指令集是新北洋打印机的一种命令语言,用于控制打印机的各种功能,包括网络设置。在文档中,你可能会找到如何发送特定的指令序列到打印机,以改变其网络配置的说明。 接下来,"PrinterManager"可能是一个配套的...

    设置IP地址.zip易语言项目例子源码下载

    4. **错误处理**:在尝试设置IP地址时,必须处理可能出现的错误,如权限不足、无效的IP地址或者网络接口不存在等。易语言提供了丰富的错误处理机制,如`错误提示`、`异常处理`等,确保程序的健壮性。 5. **用户界面...

    获取客户端网卡MAC地址和IP地址的几种方法.doc

    ### 获取客户端网卡MAC地址和IP地址的几种方法 #### 概述 在开发B/S架构的应用程序时,为了确保用户的身份验证准确性以及追踪管理的需求,开发者常常需要获取客户端计算机的MAC地址和IP地址等信息。传统的做法是在...

    电脑IP修改小工具

    【电脑IP修改小工具】是一种便捷的软件应用,专门设计用于快速调整计算机的网络设置,尤其是IP地址。在日常工作中,我们可能需要频繁地在自动获取IP和手动设定IP之间切换,例如在家庭网络和办公网络之间切换,或者在...

    解决桥接不能分配Ip问题

    当Red Hat系统在桥接模式下无法获得IP地址时,通常有以下几个可能的原因: 1. **网络环境限制**:某些情况下,实际的网络环境可能不支持或不允许虚拟机直接获取IP地址。例如,在特定的企业网络中,可能会有安全策略...

    对一种基于IP标识协议隐写的分析

    ### 对一种基于IP标识协议隐写的分析 #### 一、引言 随着互联网技术的不断发展,信息安全成为了一个不容忽视的问题。隐写技术作为一种特殊的信息隐藏手段,在网络安全领域扮演着重要的角色。本文旨在深入探讨一种...

    计算机自动设IP计算机名小工具,是网克的好帮手!!

    关于【压缩包子文件的文件名称列表】"IPSET",这可能是该工具的可执行文件或者包含该工具的相关文件夹。用户可能需要解压这个文件,然后运行其中的程序来使用这个IP设置工具。具体步骤可能包括以下几点: 1. 下载并...

    读取PLC IP地址

    读取PLC IP地址的方法主要有以下几种: 1. **通过人机界面(HMI)**:许多PLC系统都配备了图形化的人机界面,用户可以通过这些界面直接查看或修改PLC的IP设置。在HMI软件中,通常会有网络配置选项,允许用户查看和...

    Nginx-配置负载均衡的几种方式

    ### Nginx 配置负载均衡的几种方式详解 #### 一、引言 随着互联网技术的飞速发展,单一服务器已经无法满足日益增长的服务需求。为了提高系统的稳定性和扩展性,采用负载均衡技术成为了常见解决方案之一。Nginx作为...

    如何知道对方IP

    本文将详细介绍几种有效的方法来帮助您查找并确定对方的IP地址。 #### 方法一:通过电子邮件获取IP地址 1. **Outlook Express方式**:如果您使用的是Outlook Express这样的邮件客户端,可以通过邮件头部信息来查找...

    PHP通过$_SERVER['REMOTE_ADDR']得到的是内网IP?如何才能获得客户的公网IP(真实IP地址).zip

    要获取用户的公网IP,有以下几种常见策略: 1. **检查HTTP头**:代理服务器在转发请求时,通常会添加额外的HTTP头,如`X-Forwarded-For`或`HTTP_CLIENT_IP`。这些头信息可能包含了用户的真实IP。你可以尝试使用`$_...

    静态ip登陆网络时设置路由器的方法.docx

    静态 IP 是一种常见的网络连接方式,通过设置路由器可以实现稳定高速的网络连接。 一、准备工作 在开始设置路由器之前,需要准备好以下几项: * 一台已经连接到路由器的电脑 * 路由器的 IP 地址、用户名和密码 * ...

    使用ARPPing设置IP.zip

    在使用ARPPing设置IP的过程中,通常包括以下几个步骤: 1. **确认网络环境**:确保你的设备连接到正确的网络,并且已经正确配置了IP地址、子网掩码和默认网关。 2. **确定目标IP**:你需要知道要测试连接的设备的...

    海康威视设备外网访问设置方法

    如果按照以上步骤设置后仍然无法正常访问DVR/DVS,可以尝试以下几种排查方法: 1. **检查网络连接**:确保所有线路都正确连接且没有松动。 2. **查看IP地址**:确认DVR/DVS是否获得了正确的IP地址。 3. **检查端口...

    IP锁定工具(禁止修改IP地址)

    标题中的“IP锁定工具(禁止修改IP地址)”是指一种软件工具,它的主要功能是防止网络中的设备自行更改其IP地址。在小型网络环境中,这种工具尤其有用,因为它们可以帮助管理员有效地管理和控制网络中的IP地址分配,...

Global site tag (gtag.js) - Google Analytics