网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Delphi编程 >> 文章正文
  Delphi 调用netsh命令修改IP地址            【字体:
Delphi 调用netsh命令修改IP地址
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    
先介绍一下Netsh命令的使用方法:
 
在这里跟大家介绍几个简单的指令
1.Show IP
1.1Cmd Mode
直接在cmd下面输入
netsh interface ip show address
亦可简写为
netsh int ip sh ad
看看,指令是不是和Cisconos指令很像!非常怀疑是抄袭Cisco的。
正在装载数据……


1.2Netsh Mode
您也可以进入netsh的命令模式下
netsh                          //
进入到 netsh mode
netsh>int                    //
进入到 interface 子选项。
interface>ip                //
進入到 ip 子选项。
interface ip>show
show address -
显示 IP 位址。
show config -
显示 IP 位址及其他资料。
show dns -
显示 DNS 服务器位址。
show icmp -
显示 ICMP 统计
show interface - 显示 IP 介面统计
show ipaddress - 显示 IP 位址
show ipnet -
显示 IP net-to-media 对应
show ipstats - 显示 IP 统计
show joins -
显示加入的多点传送群组
show offload - 显示 offload 内容
show tcpconn -
显示 TCP 连线

show tcpstats - 显示 TCP 统计
show udpconn -
显示 UDP 连线
show udpstats -
显示 UDP 统计
show wins -
显示 WINS 服务器位址。
2.Set IP
下列是所有可用的指令。
这个內容中的指令:
set address -
在指定的介面设定 IP 位址或预设网关。
set dns -
设定 DNS 服务器模式及位址。
set wins -
设定 WINS 服务器模式及位址。

2.1.
设定IP位址
2.1.1.DHCP
设定
若您希望由DHCP取得IP位址可输入
interface ip>set ad "
区域连接" DHCP
或简写成
interface ip>set ad "
区域连接" D

2.1.2.
静态IP设定
2.1.2.1.
设定IP位址与子网关
netsh -
进入到 netsh mode
netsh>int -
进入到 interface 子选项。
interface>ip -
进入到 ip 子选项。
interface ip>set address name = "
区域连接" source = static addr = 10.2.2.100 mask = 255.255.255.0
可简写成
interface ip>set ad "
区域连接" s 10.2.2.100 255.255.255.0

2.1.2.2.
设定IP路由
interface ip>set address name = "
区域连接" gateway = 10.2.2.254 gwmetric = 1
可简写成
interface ip>set ad "
区域连接" ga=10.2.2.254 gw = 1

2.1.2.3
同时设定IP位址和路由
interface ip>set address name = "
区域连接" source = static addr = 10.2.2.100 mask = 255.255.255.0 gateway = 10.2.2.254 gwmetric = 1
可简写成
interface ip>set ad "
区域连接" s 10.2.2.100 255.255.255.0 10.2.2.254 1

设定完後,记得用sh ad去看一下设定的對不對。

2.3
设定DNS来源
若是由DHCP取得,请输入
interface ip>set dns "
区域连接" source=dhcp
若是使用静态设定,请输入
interface ip>set dns name = "
区域连接" source = static addr = 10.2.5.2
新增第二組DNS,请输入
interface ip>add dns name = "
区域连接" addr = 10.2.5.3

2.4
设定WINS来源
若是由DHCP取得,请输入
interface ip>set wins "
区域连接" source=dhcp
若是使用静态设定,请输入
interface ip>set wins name = "
区域连接" source = static addr = 10.2.5.10
新增第二組WINS,请输入
interface ip>add wins name = "
区域连接" addr = 10.2.5.17


3.
将网路状态设定导出/导入
3.1
导出
netsh -c interface dump >c:/netset.txt
当然,interface可以简写成intdump更可简化成d,所以就变成了
netsh -c int d >c:/netset.txt
3.2
导入
netsh -f c:/netset.txt
既可 

在Delphi中调用过程:
//设置成自动获取IP:
        NetShTxt := 'netsh interface ip set address ' + '"' + NetWork + '"' + ' source=dhcp';
        winexec(pchar(NetShTxt), sw_hide);
//以下代码设置IP地址和网关:
        NetShTxt := 'netsh interface ip set address name=' + '"' + NetWork + '"' + ' source=static addr=' +   IPAddress.IPString + ' mask=' + submask.IPString;
        winexec(pchar(NetShTxt), sw_hide);
       //网关
        NetshTxt := 'netsh interface ip set address name=' + '"' + NetWork + '"' + ' gateway=' + DefaultGateway.IPString + '  gwmetric=0';
        winexec(pchar(NetShTxt), sw_hide);
其中使用了IPEdit,这个组件,经过修改,已经基本能用于IP地址的输入和获取.本来从网上下载的以为能用,可实际用的过程中会发现不少问题.
设置DNS:
            NetshTxt := 'netsh interface ip  set dns name=' + '"' + NetWork + '"' + ' source=static addr=' + FirstDns.IPString + ' register=PRIMARY';
            winexec(pchar(NetShTxt), SW_Hide);
           //netsh interface ip add dns name="本地连接" addr=你的DNS的IP地址 index=2
            NetshTxt := 'netsh interface ip  add dns name=' + '"' + NetWork + '"' + ' addr=' + SecondDNS.IPString + ' index=2';
注意以上第二个DNS,添加用的命令:
 //netsh interface ip add dns name="本地连接" addr=你的DNS的IP地址 index=2
第三个DNS:
 //netsh interface ip add dns name="本地连接" addr=你的DNS的IP地址 index=3

后期调用winExec执行,感觉很不错,注意生成后使用GetAdaptersInfo函数进行检查一下IP地址是否设置正确.
在网络上流传的好多类似的工具都是这个原理.





本文来源:http://blog.csdn.net/shuiwencai/archive/2007/09/11/1780705.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     在delphi中使用xml文档有…
     初探delphi 7 中的插件编…
     delphi 2006(dexter) & …
     获得windows的版本信息。
     “序列号输入助手”源代…
     rs232串口通讯模块
     ado方式下判断数据表是否…
  • Ant入门-配置和使用     选…

  • 浅析Spring框架下PropertyPl…

  • SPRING+STRUTS+HIBERNATE登录…

  • MVP——Model-Viewer-Presen…

  • C++ Object Model

  • constructor and destructor

  • 绑定HGE到AngelScript脚本系…

  • delegate C#关键字 (委托类型…

  • Boyer-Moore String Searchi…

  • 【游戏制作基础】网络游戏设…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David