http://topic.csdn.net/t/20060904/13/4996860.html用API吧,好像WMI也可以,以下是API的实现方法 Public Function ChangeIP(IP As String, NM As String, GW As String, MDNS As String, SDNS As String) As String '返回值说明:返回一个设置的中文说明. 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
Shell "netsh interface ip set address name=""本地连接"" static 192.168.0.251 255.255.255.0 192.168.0.1 1", vbHide
Public Function ChangeIP(IP As String, NM As String, GW As String, MDNS As String, SDNS As String) As String
'返回值说明:返回一个设置的中文说明.
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