如何使用这些代码更改IP地址?

时间:2013-04-21 00:11:06

标签: vb.net static-ip-address

我正在使用此代码更改IP地址,子网掩码和默认网关,但似乎只有默认网关更改,IP地址和子网掩码不会。你能帮我么?我正在使用Windows 7

Dim IPAddress As String = "192.168.2.130"
Dim SubnetMask As String = "255.0.0.0"
Dim Gateway As String = "192.168.2.1"
Dim objMC As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim objMOC As ManagementObjectCollection = objMC.GetInstances()

For Each objMO As ManagementObject In objMOC
    If (Not CBool(objMO("IPEnabled"))) Then
        Continue For
    End If

    Try
        Dim objNewIP As ManagementBaseObject = Nothing
        Dim objSetIP As ManagementBaseObject = Nothing
        Dim objNewGate As ManagementBaseObject = Nothing
        objNewIP = objMO.GetMethodParameters("EnableStatic")
        objNewGate = objMO.GetMethodParameters("SetGateways")

        'Set DefaultGateway
        objNewGate("DefaultIPGateway") = New String() {Gateway}
        objNewGate("GatewayCostMetric") = New Integer() {1}

        'Set IPAddress and Subnet Mask
        objNewIP("IPAddress") = New String() {IPAddress}
        objNewIP("SubnetMask") = New String() {SubnetMask}
        objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, Nothing)
        objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, Nothing)

        MessageBox.Show("Updated IPAddress, SubnetMask and Default Gateway!")
    Catch ex As Exception
        MessageBox.Show("Unable to Set IP : " & ex.Message)
    End Try
Next objMO

1 个答案:

答案 0 :(得分:1)

右键单击bin中的exe并以管理员身份运行,因为更改IP地址需要管理员权限,而在Windows 7中具有这种权限,您必须以管理员身份运行它。