'返回值說明:返回壹個設置的中文說明.
Dim strComputer, objWMIService, colNetAdapters, strIPAddress, strSubnetMask
Dim strGateway, strGatewaymetric, strDNS, objNetAdapter, errEnable, errGateways, errDNS
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array(IP) 'ip地址
strSubnetMask = Array(NM) '子網掩碼
strGateway = Array(GW) '網關
strDNS = Array(MDNS, SDNS) '主DNS各備DNS
strGatewaymetric = Array(1)
For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(strDNS)
If errEnable = 0 And errGateways = 0 And errDNS = 0 Then
ChangeIP = "設置成功"
Else
If errEnable = 0 Then
ChangeIP = "IP地址和子網掩碼設置成功, "
Else
ChangeIP = "IP地址或子網掩碼設置失敗, "
End If
If errGateways = 0 Then
ChangeIP = ChangeIP & "默認網關設置成功, "
Else
ChangeIP = ChangeIP & "默認網關設置失敗, "
End If
If errDNS = 0 Then
ChangeIP = ChangeIP & "DNS設置成功"
Else
ChangeIP = ChangeIP & "DNS設置失敗"
End If
End If
Next
End Function
原理說明:
修改註冊表.
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\
下的
IPAddress=(IP地址)
SubnetMask=(子網)
DefaultGateway=(默認網關)
EnableDHCP=0(關動態取得IP)
然後調用
DhcpNotifyConfigChange
使更改生效 。
希望對妳有幫助!