编程实现Windows下重启网卡(网络链接)

CRAZII@CSDN

 简单介绍一下重启网卡的步骤.

<setupapi.h>

1.使用SetupDiGetClassDevs函数,获得设备信息列表
2.SetupDiEnumDeviceInfo,枚举设备信息
{
3.SetupDiGetDeviceRegistryProperty(hDevInfo,&DevInfoData,SPDRP_CLASS,...,...)得到设备类型,如果类型是"Net",说明是网络设备,一般就是NIC.
4.之后可以用SetupDiGetDeviceRegistryProperty(hDevInfo,&DevInfoData,SPDRP_COMPATIBLEIDS,.....)
来得到设备的CompatibleIDs,从而确定对应的设备(如果有多个网卡的话).也可以使用SPDRP_FRIENDLYNAME或SPDRP_DEVICEDESC得到设备名字或描述,也可以根据其他条件来确定.
5.SetupDiSetClassInstallParams,设置参数,其中一个参数是SP_PROPCHANGE_PARAMS

例如
SP_PROPCHANGE_PARAMS sp_propchange_params={sizeof(SP_CLASSINSTALL_HEADER)};
//设置参数:
sp_propchange_params.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE;
sp_propchange_params.Scope = DICS_FLAG_GLOBAL;
sp_propchange_params.StateChange = DICS_DISABLE(or DICS_ENABLE);

6.最后用SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,hDevInfo,pDevInfoData)是设置生效.
}

使用同样的方法,先DICS_DISABLE再DICS_ENABLE,即可重启网卡.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值