首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>C/C++>开发工具>VC++更改系统IP地址的方法代码
VC++更改系统IP地址的方法代码
来源: 发布时间:2008-06-01 发布人: 浏览: 人次   字体: [ ]  

  其中{97EFDAD8-EB2D-4F40-9B07-0FCD706FCB6D}是网卡名称(AdapterName), 不同的网卡, 不同的接入位置, 不同的接入的时间, 对
应的值都不一样, 它的值是第一次接入系统时, 由系统生成的GUID值.

  此处CurrentControlSet实际是ControlSet001的别名.

//************************************************
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Tcpip\Parameters\Interfaces\{97EFDAD8-EB2D-4F40-9B07-0FCD706FCB6D}]
"IPAddress"
"SubnetMask"
"DefaultGateway"
"NameServer"

//*********************************************

 是主要的设置处.
//*********************************************
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{97EFDAD8-EB2D-4F40-9B07-0FCD706FCB6D}\Parameters\Tcpip]
"IPAddress"
"SubnetMask"
"DefaultGateway"

//*********************************************
 对一些服务有影响, 如不设置, 用netstat可以看到原来的IP地址仍处于监听状态(?).

  但为了使设置生效, 还有很重要的一步, 即重启网卡.

更改网卡的配置, 一般而言需要重启网卡, 如Linux系统, 只需运行
#ifconfig eth0 down
#ifconfig eht0 up

就可以实现网卡的重启.

  Windows环境下的步骤与之类似: 先禁用本地连接(网卡), 再启用本地连接(网卡). 但没有相应的命令或者直接的API. 所幸的是DDK
提供一套设备安装函数, 用于控制系统设备, 包括控制设备的状态改变.(点击查看详细代码附件)

  总结: 通过网卡重启更改IP的方法有两个步骤: 修改注册表, 重启网卡. 重启网卡的全过程上面已作描述. 注册表修改的内容为文
   中列出四个主要项, 如{97EFDAD8-EB2D-4F40-9B07-0FCD706FCB6D}的网卡名称即是内部设备名, 在adapter结构中已给出. 整个注册表
   修改的过程比较简单, 本文不加叙述.

  三、使用"iphlpapi"一卡多IP

  除以上两个方法外, 笔者再介绍一种方法. 无论是在Windows下还是在Linux下, 一块网卡都可同时具有多个IP地址. 根据TCP/IP原理, 在网络层标识通信节点是IP地址, 在链路层上的则是MAC地址. 只要通过ARP, 将多个IP与一个MAC对应起来, 就可实现一网卡多IP(其实是一MAC多IP). 系统本身也有相应的设置选项, 如windows是通过TCP/IP属性的高级选项添加的, Linux下可由ifconfig命令添加.

  iphlpapi提供AddIPAddress和DelIPAddress. 如果能先加入新的IP, 再去除原来的IP, 即可实现IP地址的更改.

共3页: 上一页 [1] [2] 3 下一页
相 关 文 章   发布商链接
·vc6.0实现鼠标显示按钮功能提示文本
·VC操作Excel和运用ADO操作数据库时产...
·双击VC对话框提示cannot add new mem...
·VC获得当前系统是什么语言版本的方法
·VC含有双引号的CSV数据分割
·VC获取目录的两种方法代码
·实例讲解VC++实现对文件夹时间的修改
·VisualC++中如何保证256色以上的图标...
·vc++实现下载工具软件flashget浮动窗...
·vc++实现对广告窗口的自动关闭代码
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·vc++实现下载工具软件flashge...
·VC获取目录的两种方法代码
·VC获得当前系统是什么语言版...
·双击VC对话框提示cannot add ...
·VC操作Excel和运用ADO操作数...
·vc6.0实现鼠标显示按钮功能提
·如何消除vc屏幕闪烁的方法?
·在CListView控件添加右键弹出
·MFC中利用CMenu类动态添加弹...
·详解如何在VC++下动态调整水...
·如何在VC++下完全动态生成水...
·C++builder调试时提示找不到b...
·vc实现定时执行任务的两种方...
·VC使用定时机制的几种方法
·VC制作使用图片做为背景的对...
热 门 文 章
·图解VC2005之创建解决方案祥...
·在VC中创建DLL文件的方法步骤...
·VC使用定时机制的几种方法
·Vc中自定义消息及其触发使用
·VC制作使用图片做为背景的对...
·vc实现定时执行任务的两种方...
·在CListView控件添加右键弹出...
·如何在VC++下完全动态生成水...
·MFC中利用CMenu类动态添加弹...
·C++builder调试时提示找不到b...
·双击VC对话框提示cannot add ...
·如何消除vc屏幕闪烁的方法?
·实例讲解vc调用winrar进行文...
·Visual C++开发工具与调试技...
·Visual C++设计超强仿QQ自动...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .