修改网卡ip

找了很多资料,比如通过未公开函数:DhcpNotifyConfigChange,来修改ip。但是经过测试,在win10,该函数总是返回错误50,含义是未支持的请求。估计是因为操作系统不支持这种调用吧。

因此决定采用修改注册表,再重启网卡的方式来实现修改ip


BOOL  CCameraCaptureDlg::SetIP(PIP_ADAPTER_INFO pInfo, int   nIndex, LPCTSTR   pIPAddress, LPCTSTR   pNetMask, LPCTSTR   pNetGate)
{
	LPCTSTR   lpszAdapterName = pInfo->AdapterName;
	BOOL bResult = FALSE;
	
	HKEY   hKey;
	CString   strKeyName = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\";
	//\SYSTEM\CurrentControlSet\Services\{BE42DB86-2E4E-4888-8880-2F058FA4C729}\Parameters\Tcpip
	//如果我们通过手动操作修改dhcp的时候,对上面的注册表位置也是有影响的。但该注册项似乎对网上适配器的属性表的正确显示不起作用
	strKeyName += lpszAdapterName;
	DWORD dwRet = 0;
	
	dwRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
		strKeyName,
		0,
		KEY_WRITE,
		&hKey); 
	if (dwRet != ERROR_SUCCESS)
	{
		char* pErr = FormatError(dwRet);
		TRACE("RegOpenKeyEx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值