IP切换器

 公司、学校、出差,就那么一台本本,每次连网,都得重新设置IP地址,于是想着有没有办法通过设定,自动切换IP。上网一搜,还真不少!

有收钱的,有免费的,还有不少相关的技术文章,作为程序员,也想自己做一个,动起手来!

工具:DELPHI(好像有点过时,可做点界面的工具,快捷方便,从来不曾放弃它!)

操作系统:Windows XP

知识点:XML,netsh ip interface

重要的算法

1)用XMLDocument操作XML文档实现IP配置。
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- <configures xmlns="本地连接">
- <configure xmlns="单位">
  <ip>192.168.0.35</ip>
  <mask>255.255.255.0</mask>
  <gateway>192.168.0.1</gateway>
  <dns1>172.16.253.250</dns1>
  <dns2>172.16.253.250</dns2>
  </configure>
- <configure xmlns="学校">
  <ip>202.209.11.25</ip>
  <mask>255.255.255.192</mask>
  <gateway>202.209.13.1</gateway>
  <dns1>202.209.11.1</dns1>
  <dns2>202.209.13.1</dns2>
  </configure>
  </configures>
上面所示的是程序用到的配置文件内容,configures是文件的根节点,其命名空间(xmlns)定义了本地连接的名称,每个备用的网络配置通过configure设定,包含ip(ip地址)/mask(子网掩码)/gateway(网关)/dns1(首选DNS)/dns2(备用DNS).每个configure的命名空间为该配置的标题信息,用于界面显示。

2)通过调用系统的netsh命令,实现动态设置IP。
有关netsh命令的介绍,请访问这个地址:http://zhidao.baidu.com/question/18997417.html?si=2

我这里,主要是根据界面配置的IP信息生成.sh文件,然后通过调用netsh exec 命令,应用该文件中的配置,即可实现动态切换IP。
.sh文件的内容为:
int ip
set address 本地连接 source=static addr=202.209.11.25 mask=255.255.255.192
set address 本地连接 gateway = 202.207.13.1 gwmetric = 1
set dns 本地连接 source=static addr=202.207.11.1 register=PRIMARY
add dns 本地连接 addr=202.207.13.1 index=2

注意:netsh的运行目录为用户目录(c:/documents and settings/user/),所以,在调用前,要通过SetCurrentDir设定系统的当前运行目录,.sh文件也要存放在该目录下,以便调用。

界面设计
1)左面显示了可选IP的列表,每一项就是XML文档中configure项的命名空间。
2)右面设计用于显示和编辑IP信息的界面
3)下方为操作按钮,包含Add(将配置好的IP保存到XML文件)、Remove(将选择的IP配置从XML文件中清除)和Apply(应用当前选择的IP配置,实现切换)。

后记
其实,就实现功能的角度,完全没有必要编制程序,我做这样的工作,一方面是出于爱好,另一方面也是为了验证功能。毕竟,图形化的操作还是方便些呀,有机会的话,我会把它放到网上,让大家免费用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(一).主要功能 ·方便切换不同 IP 地址的网络连接,可保存多套方案 ·支持多网卡(包括隐藏网卡) ·支持 Mac 地址的修改,无需重启 ·支持切换 IP 后运行客户端程序(可选) ·可随系统启动并最小化到系统栏,支持右键菜单操作 ·有绿色和安装两个版本,供不同需要的用户选择下载   (二).使用方法 1.管理方案   为方便以后的切换、修改和备份,可以将想要设置的 IP 等信息保存为方案。主界面里只提供预览功能,要添加或修改方案,在主界面里点击“管理”按钮, 就会弹出方案管理的界面(如果第一次使用本软件,点击“当前方案”也可打开管理界面)。在此管理界面中可以执行“添加/删除/保存”等操作。注意,做过任何更改,只有保存后方案才会生效。 2.新建方案   在主界面中点击“管理”,在弹出的方案管理的窗口中,点击“新建”按钮,就可以选择并输入配置方案,输入完后请点击“保存”。 3.删除方案   在主界面中点击“管理”,在方案管理窗口中选中想要删除的方案,点击“删除”按钮,然后“保存”。 4.应用方案   在主界面中,选择你想要的方案,在左边会同步列出当前方案的详细信息。点击“应用”按钮,选择“是”,就可以应用当前方案。 5.鼠标操作菜单   点击“关闭”按钮,窗口最小化到系统托盘,右键点击图标,也可以进行选择方案/显示窗口,或者打开并显示当前系统所有网络连接。 6.切换完后运行程序   个别网络环境,在切换完网络 IP信息后,需要用客户端登录才可上网。在程序的管理方案界面,选中“运行程序”,点击“浏览”,保存即可。 7.随系统启动   对于经常需要经常切换网络环境的用户,可以选择程序随系统启动。在管理界面中,选择“随系统启动”,点击保存。 8.快捷管理编辑 IP 信息   在管理界面,点击按钮“清空当前 IP 设置”,会将当前选择信息全部清空;点击按钮“从当前连接复制”,可将当前网络连接中的 IP 和 Mac 地址信息复制到当前方案(由于支持多网卡,复制信息以所选网络连接为准)。   (三).最后的说明   本来没想写这个东东的,只是老婆家里用的是方正宽带,BT 的 ISP,不支持路由,需绑定 MAC ,需安装客户端软件。。。在此种种条件的限制下,为了实现多机上网,只好使用双网卡共享上网。在这个过程中最麻烦的是网络切换, 切换完后还要运行客户端才能上网,经常的设置和输入 IP 信息,不胜其烦。 于是绿色小软件 IPWhiz 诞生了,欢迎大家帮忙测试并提宝贵意见,^o^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值