VB6.0
需要引用Microsoft WMI Scripting
代码为了便于修改,IP未做处理
初衷(当前代码)只改默认网关
192.168.199.200和192.168.199.253之间切换
Dim pd
Dim lip
Option Explicit '这是窗体代码
Private Sub Command3_Click()
pd = 1
MsgBox ChangeIP("1", "255.255.255.0", "192.168.1.1", "202.98.192.67", "202.98.198.167")
End Sub
Private Sub Command4_Click()
pd = 2
MsgBox ChangeIP("1", "255.255.255.0", "192.168.1.1", "202.98.192.67", "202.98.198.167")
End Sub
'更改IP
Function ChangeIP(ip As String, NM As String, GW As String, MDNS As String, SDNS As String) As String
If pd = 1 Then
GW = "192.168.199.200"
Else
GW = "192.168.199.253"
End If
Dim winIP As Object
Set winIP = CreateObject("MSWinsock.Winsock")
ip = winIP.localip
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) 'MAIN DNS AND SECOND 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地址或子网置 X, "
End If
If errGateways = 0 Then
ChangeIP = ChangeIP & "DEFAULT成功, "
Else
ChangeIP = ChangeIP & "DEFAULT X, "
End If
If errDNS = 0 Then
ChangeIP = ChangeIP & "DNS成功"
Else
ChangeIP = ChangeIP & "DNS X"
End If
End If
Next
End Function
这篇博客介绍了如何使用VB6.0通过Microsoft WMI Scripting库来获取和更改IP地址,特别是切换默认网关在192.168.199.200和192.168.199.253之间的方法,适合初学者学习。
1515

被折叠的 条评论
为什么被折叠?



