电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

(vc源程序)不重起Windows直接更改IP地址的三种方法VIP专享VIP免费

(vc源程序)不重起Windows直接更改IP地址的三种方法_第1页
(vc源程序)不重起Windows直接更改IP地址的三种方法_第2页
(vc源程序)不重起Windows直接更改IP地址的三种方法_第3页
不重起Window s 直接更改IP 地址的三种方法 有很多网友都遇到过更改IP 地址但是要重启机器的问题,在这里,为大家介绍几种不重启Windows 直接更改IP 地址的方法。首先是调用DhcpNotifyConfigChange 的方法,后面还有修改注册表跟使用“iphlpapi”的方法。 一、未公开函数:DhcpNotifyConfigChange 设置 IP 地址只需要更改注册表中关于适配器的相应设置,但更改后需要重新启动系统才能生效,而 AddIPAddress 函数只能添加 IP 而不是更改当前的IP,我们在Windows NT/2000 界面上操作不需要重新启动就可以生效,那系统到底做了什么额外的工作才使IP 设置直接生效呢?笔者通过跟踪 explorer.exe 中 API的调用发现在netcfgx.dll中调用了 dhcpcsvc.dll 中一个未公开的API 函数DhcpNotifyConfigChange,现将不重新启动WINDOWS直接更改IP 地址的详细方法介绍如下: 1、获取适配器名称 这里指的适配器名称要区别于适配器描述,比如我的一块网卡,适配器描述是: Realtek RTL8139(A) PCI Fast Ethernet Adapter ,适 配 器名 称 为:{66156DC3-44A4-434C-B8A9-0E5DB4B3EEAD}。获取适配器名称的方法有多种: 1.1 调用IP helper API 取得适配器名称 ULONG ulAdapterInfoSize = sizeof(IP_ADAPTER_INFO); IP_ADAPTER_INFO *pAdapterInfoBkp, *pAdapterInfo = (IP_ADAPTER_INFO*)new char[ulAdapterInfoSize]; if(GetAdaptersInfo(pAdapterInfo, &ulAdapterInfoSize) == ERROR_BUFFER_OVERFLOW ) // 缓冲区不够大 { delete pAdapterInfo; pAdapterInfo = (IP_ADAPTER_INFO*)new char[ulAdapterInfoSize]; pAdapterInfoBkp = pAdapterInfo; } if( GetAdaptersInfo(pAdapterInfo, &ulAdapterInfoSize) == ERROR_SUCCESS ) { do{ // 遍历所有适配器 if(pAdapterInfo->Type == MIB_IF_TYPE_ETHERNET) // 判断是否为以太网接口 { // pAdapterInfo->Description 是适配器描述 // pAdapterInfo->AdapterName 是适配器名称 } pAdapterInfo = pAdapterInfo->Next; }while(pAdapterInfo); } delete pAdapterInfoBkp; 1.2 读取注册表取得适配器名称 在Windows2000中可以通过遍历HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\000n\ (n 是从0 开始编号的数字)所有接口,在Windows NT中可以读取HKEY_LOC...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

小辰4+ 关注
实名认证
内容提供者

出售各种资料和文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部