2007年9月21日

回归原始--用批处理命令实现更改IP功能(可选网卡,可自定义多套IP方案)

近期闲着没事,研究了一下批处理。发现原来批处理一样可以完成很多任务。于是就写了这个东东。忘记.net,忘记控件,回归原始,用最简单的方式去实现,会有另一番感受。
下载地址:
http://files.cnblogs.com/jedwin/IP%20changer(BAT).rar

使用方法:
把下载好的文件解压出来,其中IP list.txt文件是自定义的IP方案。可根据里面的例子按自己需要多设几套。每行是一套,以制表符分隔各列。各列的含义是

方案名    IP地址    子网掩码    网关地址    DNS1    DNS2
[Test] 192.168.0.100 255.255.255.0 192.168.0.1 202.96.128.86 202.96.128.68

其中DNS1和2可以忽略不填。

然后运行压缩包的另一个BAT文件即可:
第1步是选择网卡。
第2步是选择自动获取IP还是使用自定义IP。如果选择自动获取,则马上修改,然后结束。
第3步如果选择使用自定义IP,则列出预设方案供选择。
第4步显示选择好的方案供确认。

因为是BAT文件,所以大家都可以看到源代码,不妨多提宝贵意见哦。

posted @ 2007-09-21 01:29 Jedwin 阅读(464) 评论(1) 编辑

2007年1月24日

发一个更改IP的软件

前几天班门弄斧发了一个输入控件,让大家见笑了.

今天就继续发一个用上了该控件的小工具--IP changer.从名字上就知道这又是一个更改IP的东东.大家可能会说,这种东西网络上已经有太多太多了...

在我的工作中,更改IP是很常有的事.如果只用windows本身设置,即使每个连接有多一套备用方案也是远远不够的.于是就上网找了一下(包括在cnblogs上也有前辈发布过这类工具:)).使用过之后感觉有几点不满意的地方:

1.不能指定网卡(或称之为接口更准确). 这个是最大问题.我下载过的所有更改工具都没有指定网卡的功能,只会修改目前连接中的接口.如果我两张网卡(一张有线一张无线)同时连接到两个网络,又或者两张网卡都没有连接,那就比较混乱了:(

2.多套IP设定的管理不够友好.

3.IP设定的检测不够,无论输入的IP地址格式是对是错都会去尝试更改.(这是我多虑,输入错误的机会还是比较低的.但严谨些总是好的)

4.界面太"纯朴".(这条是找抽型理由...)

于是我就尝试自己写一个吧.(本软件免费使用,需要.net framework 2.0)
下载地址: http://files.cnblogs.com/jedwin/IP%20changer(1.0).rar

简单介绍:

Step1
解压后,运行里面的exe文件,就会出现下面这个主界面:
点击菜单上的Language可以改语言,目前只有英文简体中文可选;)
首先在下拉菜单上选择你想改的网卡,界面会刷新该接口的IP设置情况.
例如目前是否使用自动获取IP,接口描述等等,以免你改错了接口.当然,你也可以随时按刷新信息来刷新接口的情况.
Step2
选择将目前设置更改自动获取还是手动设置.
如果是想改为自动获取的话,现在就可以按应用了.
Step3
如果选择手动设置,则会出现下半部分:
左边是显示咱们储存IP套餐的地方.选好一个套餐,按应用即可.
保存设置,另存设置,删除设置是操作套餐的按扭,很容易理解就不多说了.复制当前设置则是把上半边,目前的IP设置复制到下边来接受IP规范检查,如果合格,就可以另存为一个新的套餐了:)
关于IP检查
得益于IP输入控件的帮助,IP检查变得很容易:
每当IP地址,子网掩码,网关地址和DNS地址发生变化时,都会触发IP检查.控件上也会同步显示.当检查出有错误时,这个套餐就不能保存也不能应用了.(DNS地址出错可以继续操作,但不会尝试去改DNS设置).当然,即使4个地址格式都正确,这个套餐也未必能用,请看下图:
使用输入控件的Bits属性可以得到控件的IP地址的2进制码,因而可以很容易地检测出子网错误.
遗留问题,或者在下一个版本中会解决
1.不支持第二个DNS.尽管大部分情况下,一个主DNS就够,但这不免是个遗憾.
2.不支持改Proxy.相信会在下一版本中支持.
3.目前只在windows XP中测试过,其他系统...就只能拜托各位了.希望大家能用得开心:)
附录:储存IP套餐的文件格式
  <?xml version="1.0" encoding="utf-8" ?> 
 
<IPv4Settings>
 
<IpSetting ID="1">
  
<Name>Sample</Name> 
  
<IpAddress>192.168.0.1</IpAddress> 
  
<SubnetMask>255.255.255.0</SubnetMask> 
  
<DefaultGateway>192.168.0.1</DefaultGateway> 
  
<DNS1>192.168.0.1</DNS1> 
  
<Description>This is an example.</Description> 
  
</IpSetting>
 
<IpSetting ID="2">
  
<Name>办公室</Name> 
  
<IpAddress>192.168.0.100</IpAddress> 
  
<SubnetMask>255.255.255.0</SubnetMask> 
  
<DefaultGateway>192.168.0.1</DefaultGateway> 
  
<DNS1>202.96.128.86</DNS1> 
  
<Description>5楼办公室</Description> 
  
</IpSetting>
  
</IPv4Settings>

posted @ 2007-01-24 14:28 Jedwin 阅读(16846) 评论(8) 编辑

2007年1月22日

一个用于方便输入和检测IP小控件

这是个专门用于输入IP地址的控件(目前只限于IP version 4).
下面仿照MSDN的格式列出了IPv4Ctl的所有公开的成员.点击下面的/图标,可以收起/展开表格.
这个控件欢迎大家免费使用.(本控件需要.net framework 2.0)
下载地址: http://files.cnblogs.com/jedwin/IPv4Ctl.rar
解压后文件名称为:IPv4Ctl.dll
欢迎大家多提宝贵意见.过几天我再发布一个用到这个控件的小工具.
外观
功能 输入判断 外观
输入IP地址  输入正确时
输入IP地址 输入错误时
输入子网掩码 输入正确时
输入子网掩码 输入错误时
公共构造函数
  名称 说明
Public method IPv4Ctl 初始化IPv4Ctl类的新实例。
公共属性
  名称 类型 说明
Public property IpAddress String 获取或设置实例中显示的IP地址/子网掩码,如果IsLegal属性为False,则返回"".
Public property Bits String 只读属性.获取当前实例中显示的IP地址/子网掩码的二进制码,如果IsLegal属性为False,则返回"".
Public property errMsg String 只读属性.获取实例中上一次的出错信息.如果IsLegal属性为False,可以从这个属性中知道IP地址/子网掩码错误的原因.
Public property IsLegal Boolean 只读属性.获取实例中显示的IP地址/子网掩码是否合法.
Public property IsSubnetMask Boolean 获取或设置实例是用于输入IP地址还是子网掩码.
Public property NumofMaskBits Integer 获取或设置实例中显示的子网掩码的位数(从1-32).
公共方法
  名称 说明
Public method 本控件没有公共方法 N/A
公共事件
  名称 说明
IpChanged 当控件的IP地址值发生改变后触发。(通过点击控件中的上下按扭,或通过对IpAddress,SubnetMaskBits属性赋值均会触发该事件)

posted @ 2007-01-22 17:44 Jedwin 阅读(2676) 评论(2) 编辑

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

公告

昵称:Jedwin
园龄:5年
粉丝:0
关注:0

搜索

 
 

常用链接

随笔档案

相册

最新评论