C++通过WMI修改IP,网关,DNS不重启(支持WIN7,VISTA)

作者: admin 分类: C++, 开发问题 发布时间: 2013-08-23 13:50 ė7,661 浏览数 62条评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

以前也做过修改IP的方法,感觉都不是最完美的,我觉得最完美的方法就是WMI了,所有在上次封装的WMI类中再封装了一下,可以简单的修改IP,GATEWAY ,DNS。
主要在上一篇文章中的网卡类中添加了四个成员函数
HRESULT SetIPAddress(CComBSTR* pArraybstrIp,CComBSTR* pArraybstrMask,const int& arraryCount,LONG* plReturn = NULL)
HRESULT EnableDCPH(LONG* plReturn = NULL)
HRESULT SetDNS(CComBSTR* pArraybstrDNS,const int& arraryCount,LONG* plReturn = NULL)
HRESULT SetGateWay(CComBSTR* pArraybstrGateWay,BYTE* pArraybyteMetric,const int& arraryCount,LONG* plReturn = NULL)
下面我来说一下这四个函数的用法。
第一个是设置IP:
第一个参数pArraybstrIp是指向一个IP地址的数组,可以添加多个IP
例如:CComBSTR ip[2] = {L”172.16.202.47″,L”192.168.1.27″}
第二个参数; pArraybstrMask指向一个子网掩码的数组,
例如:CComBSTR mask[2] = {L”255.255.255.0″,L”255.255.255.0″};
第三个参数:arraryCount要修改IP地址的个数
第四个参数:plReturn是修改IP后的返回值
这个函数的返回值是指这个函数是否调用成功
IP和子网掩码是一一对应的,所有第一个参数元素的个数一定要与第二个参数个数一样,否则无法修改成功
如果要把IP修改为172.16.202.47和192.168.1.27完整代码如下
CComBSTR ip[2] = {L”172.16.202.47″,L”192.168.1.27″};
CComBSTR mask[2] = {L”255.255.255.0″,L”255.255.255.0″};
hres = pObj.SetIPAddress(ip,mask,2);
第二个函数:设置IP为自动获取
第三个函数:设置DNS
第四个函数:设置网关
另外三个函数的用法第一个函数差不多这里我就不多介绍了,需要详细了解可以去我的给出的地址下载。
这里我再贴一个个完整修改IP,GATEWAY,DNS的代码

 

代码下载地址:

 



只回答业务咨询点击这里给我发消息 点击这里给我发消息

学习日记,兼职软件设计,软件修改,毕业设计。

本文出自 学习日记,转载时请注明出处及相应链接。

本文永久链接: https://www.softwareace.cn/?p=543

0

2条评论

  1. 杨领迪 2015 年 4 月 2 日 上午 8:41 回复

    请问 头文件爱那里?

  2. 王牌软件 2015 年 9 月 9 日 上午 10:46 回复

    谢谢

王牌软件进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量