vc 注册表改网络设置立即生效
2013-06-05 12:48
218 查看
Ip、子网掩码、默认网关、首选DNS服务器相关信息在注册表之中,改变注册表的值,然后通知所以应用程序即可,代码如下:
未测试
未测试
BOOL SetIP(LPCTSTR lpszAdapterName, int nIndex, LPCTSTR pIPAddress, LPCTSTR pNetMask, LPCTSTR pNetGate) { HKEY hKey; CString strKeyName = "SYSTEM//CurrentControlSet//Services//Tcpip//Parameters//Interfaces// "; strKeyName += lpszAdapterName; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, strKeyName, 0, KEY_WRITE, &hKey) != ERROR_SUCCESS) return FALSE; char mszIPAddress[100]; char mszNetMask[100]; char mszNetGate[100]; strncpy(mszIPAddress, pIPAddress, 98); strncpy(mszNetMask, pNetMask, 98); strncpy(mszNetGate, pNetGate, 98); int nIP, nMask, nGate; nIP = strlen(mszIPAddress); nMask = strlen(mszNetMask); nGate = strlen(mszNetGate); *(mszIPAddress + nIP + 1) = 0x00; nIP += 2; *(mszNetMask + nMask + 1) = 0x00; nMask += 2; *(mszNetGate + nGate + 1) = 0x00; nGate += 2; RegSetValueEx(hKey, "IPAddress ", 0, REG_MULTI_SZ, (unsigned char*)mszIPAddress, nIP); RegSetValueEx(hKey, "SubnetMask ", 0, REG_MULTI_SZ, (unsigned char*)mszNetMask, nMask); RegSetValueEx(hKey, "DefaultGateway ", 0, REG_MULTI_SZ, (unsigned char*)mszNetGate, nGate); RegCloseKey(hKey); //通知IP地址改变 BOOL bResult = FALSE; HINSTANCE hDhcpDll; DHCPNOTIFYPROC pDhcpNotifyProc; WCHAR wcAdapterName[256]; MultiByteToWideChar(CP_ACP, 0, lpszAdapterName, -1, wcAdapterName,256); if((hDhcpDll = LoadLibrary( "dhcpcsvc ")) == NULL) return FALSE; if((pDhcpNotifyProc = (DHCPNOTIFYPROC)GetProcAddress(hDhcpDll, "DhcpNotifyConfigChange ")) != NULL) if((pDhcpNotifyProc)(NULL, wcAdapterName, TRUE, nIndex, inet_addr(pIPAddress), inet_addr(pNetMask), 0) == ERROR_SUCCESS) bResult = TRUE; FreeLibrary(hDhcpDll); return TRUE; }
相关文章推荐
- c++ 注册表的设置立即生效
- 使用VC设置环境变量值,并立即生效
- 怎样不重启设置字体边缘平滑立即生效! 以下注册表导入后不能立即生效。。
- 使用suse的yast工具使网络设置立即生效
- VC小技巧(7)-----注册表的简单设置和查询函数
- CWinApp初始化时的Profile设置 VC读写INI文件和注册表
- eclipse 设置Tomcat 热部署,修改jsp 页面立即生效,不需要重启Tomcat
- 注册表网络完美优化设置四十招
- GPUpdate 刷新组策略设置(使组策略立即生效)
- 系统环境变量设置之后让其立即生效的办法
- 设置环境变量和使配置立即生效
- 用VC++来设置获得注册表的键值
- 利用runtime懒人实现iOS 防止按钮连续点击 连续响应事件,可以自己设置时间间隔,拖进工程中立即生效
- 设置环境变量和使配置立即生效
- 【代码备忘录】VC设置您的计算机环境变量、注册表操作
- Ubuntu设置环境变量并立即生效
- 四十招注册表完美优化设置网络
- 注册表、组策略双管齐下―管住网络设置
- windows 环境变量设置立即生效的办法
- 修改注册表立即生效