VB设置网卡的IP地址

在菜单中的【工程】—【引用】下,添加“Microsoft WMI Scripting V1.1 Library”,然后在Form1窗体上添加1个Combo1、Text1(0)、Text1(1)、Text1(2)、Text1(3)和Command1、Command2,代码如下:

Option Explicit
Dim objSWbemServices As SWbemServices
Dim objSWbemObjectSet As SWbemObjectSet
Dim objSWbemObject As SWbemObject
'Text1(0)为IP地址、Text1(1)为子网掩码、Text1(2)为缺省网关、Text1(3)为DNS

Private Sub Form_Load()
    
Set objSWbemServices = GetObject("winmgmts:")
    
Set objSWbemObjectSet = objSWbemServices.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
    
For Each objSWbemObject In objSWbemObjectSet
        Combo1.AddItem objSWbemObject.Description   
'添加本机上已经安装了TCP/IP协议的网卡
    Next
    Combo1.Text 
= Combo1.List(0)
    Combo1.ListIndex 
= 0
End Sub

Private Sub Form_Unload(Cancel As Integer)
    
Set objSWbemServices = Nothing
    
Set objSWbemObjectSet = Nothing
    
Set objSWbemObject = Nothing
End Sub

'当选择了网卡后,显示当前所选网卡的设置
Private Sub Combo1_Click()
    
Set objSWbemObjectSet = objSWbemServices.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where Description='" & Combo1.Text & "'")
    
For Each objSWbemObject In objSWbemObjectSet
        
If objSWbemObject.DHCPEnabled Then
            Text1(
0).Text = ""
            Text1(
1).Text = ""
            Text1(
2).Text = ""
            
If IsNull(objSWbemObject.DNSServerSearchOrder) Then
                Text1(
3).Text = ""
            
Else
                Text1(
3).Text = objSWbemObject.DNSServerSearchOrder(0)
            
End If
        
Else
            Text1(
0).Text = objSWbemObject.IPAddress(0)
            Text1(
1).Text = objSWbemObject.IPSubnet(0)
            Text1(
2).Text = objSWbemObject.DefaultIPGateway(0)
            Text1(
3).Text = objSWbemObject.DNSServerSearchOrder(0)
        
End If
    
Next
End Sub

'设置网卡的IP地址、子网掩码、缺省网关和DNS
Private Sub Command1_Click()
    
Set objSWbemObjectSet = objSWbemServices.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where Description='" & Combo1.Text & "'")
    
For Each objSWbemObject In objSWbemObjectSet
        objSWbemObject.EnableStatic 
Array(Text1(0).Text), Array(Text1(1).Text)
        objSWbemObject.SetGateways 
Array(Text1(2).Text)
        objSWbemObject.SetDNSServerSearchOrder 
Array(Text1(3).Text)
    
Next
End Sub

Private Sub Command2_Click()
    Unload Me
End Sub

 

原文地址:https://www.cnblogs.com/findw/p/1993083.html