VB获取及更改IP地址信息

这篇博客介绍了如何使用VB6.0通过Microsoft WMI Scripting库来获取和更改IP地址,特别是切换默认网关在192.168.199.200和192.168.199.253之间的方法,适合初学者学习。

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值