自动更换ip地址的程序(windows XP)

在很多情况下,我们都需要经常性的改动ip地址(例如笔记本电脑在两个地址经常性切换等)。

我简单尝试了一下,发现Windows下自动更换ip地址可以有两种方法(实质上是一种):

1.批处理文件法(bat文件)。

2.写个小的C程序,改动ip。

1.批处理文件法

这种方法是来自于cmd命令中的操作,由于可以用windows自带的netsh命令更改ip,

打开cmd命令提示符,输入以下命令:

netsh

interface

ip

set address  本地连接 static 10.0.1.10 255.255.255.0 10.0.1.1 1

每一个命令的具体用法都可以看帮助。

其中到了set address就可以设置ip地址,本例只是设置了静态ip地址,也可以利用命令设置ip为DHCP自动分配型的地址。

每一个cmd命令都可以转换成一个批处理文件,因此将以上步骤写成一个后缀为bat的批处理文件,具体内容为:

@echo off
echo 实验室按1键,寝室按2键:
set/p n=

if /i "%n%" equ "1" goto lab
if /i "%n%" equ "2" goto dorm

:lab
echo Setting...... lab
netsh interface ip set address name="本地连接" static 10.0.1.10 255.255.255.0 10.0.1.1 1
goto end

:dorm
echo Setting...... dorm
netsh interface ip set address name="本地连接" static 10.0.2.11 255.255.255.0 10.0.2.1 1

:end
echo ok
pause

ok,运行此批处理文件,输入1或2就可以设置两个不同的ip地址,当然也可以扩展到n个ip地址....

2.C程序

c程序也是来自于netsh命令的,c语言的stdlib.h库文件中提供了system函数可以直接调用windows系统命令。

因此,将以上bat文件改造成c程序,可以生成一个exe文件,看以下程序:

/******************************
***File name : IpChange
***File by        : bobocheng
******************************/

#include <stdio.h>
#include <stdlib.h>

/*Declare function*/
char WaitInput(void);
void SetIp(char);

void main(void)
{
 char input;
 
 input = WaitInput(); 
 SetIp(input); 
 
 printf("/n");
 system("pause");
}

char WaitInput()
 {
  char i;
  printf("input chioce: 1 for lab, 2 for dorm/n");
  i = getchar();
  return i;
 }

void SetIp(char input)
 {
  if(input == '1')
   {
    printf("Please Wait, Setting....../n");
    system("netsh interface ip set address 本地连接 static 10.0.1.10 255.255.255.0 10.0.1.1 1");
   }
  else if (input == '2')
   {
    printf("Please Wait, Setting....../n");
    system("netsh interface ip set address 本地连接 static 10.0.2.10 255.255.255.0 10.0.2.1 1");
   }
  else
   {
    printf("Error input, End.");
   /* WaitInput();*/
   }
 }

编译此程序,输入1或2同样可以实现ip的自动更改。

其实,还可以有许多其他方式,利用VC++编译一个Windows应用程序,或利用C#语言中WMI修改ip地址等....

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值