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;
}
相关文章
- Win10设置IP设置出错:“出现了一个意外的情况,不能完成所有你在设置中所要求的更改”(解决方法:cmd命令设置IP、子网掩码、默认网关以及DNS)
- 【网络】IP地址、子网掩码、默认网关、DNS服务器之间的联系与区别
- 思科配置服务器DHCP服务使PC机可以自动获取ip地址,子网掩码,默认网关,DNS服务器。...
- IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解,DNS域名设计 本文参考:《计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解》IP地址192.168.100.168(IP地址) = 192.168.1.0 (网络地址) + 0.0.0.168(主机地址)
- IP地址 子网掩码 默认网关和DNS服务器的关系
- vc Ip、子网掩码、默认网关、首选DNS服务器
- 本地连接的ip地址 子网掩码 默认网关 还有dns服务器地址怎么设置? (转自网易博客)
- DNS、IP地址、子网掩码和默认网关
- IP地址 子网掩码 默认网关 DNS(转)
- IP地址,子网掩码、默认网关,DNS服务器是什么意思?