首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何以编程方式启用/禁用网络接口?(Windows XP)

要以编程方式启用或禁用网络接口,您可以使用Windows XP中的网络配置API。以下是一个使用Visual Basic Script(VBS)编写的示例代码,用于启用或禁用指定网络接口:

代码语言:vbs
复制
Option Explicit

Const NETWORK_CONNECTIONS = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkSetup"
Const NETWORK_CONNECTIONS_PATH = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards"

Function EnableNetworkInterface(ByVal sInterfaceName, ByVal bEnable)
    Dim oReg, sInterfaceID, sCardName, sKeyPath
    Dim iRetVal, iValue

    ' 打开注册表
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & _
        ".\\root\default:StdRegProv")

    ' 查找网络接口的ID
    sKeyPath = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"
    oReg.EnumKey HKEY_LOCAL_MACHINE, sKeyPath, arrSubKeys

    For Each sInterfaceID In arrSubKeys
        oReg.GetStringValue HKEY_LOCAL_MACHINE, sKeyPath & "\" & sInterfaceID, _
            "DriverDesc", sCardName
        If sCardName = sInterfaceName Then
            Exit For
        End If
    Next

    ' 设置网络接口的状态
    sKeyPath = NETWORK_CONNECTIONS_PATH & "\" & sInterfaceID & "\Connection"
    iValue = IIf(bEnable, 1, 0)
    oReg.SetDWORDValue HKEY_LOCAL_MACHINE, sKeyPath, "PnpInstanceID", iValue

    ' 刷新网络连接
    iRetVal = ShellExecute(0, "open", "netsh", "interface set interface """ & sInterfaceID & """ admin=" & IIf(bEnable, "enable", "disable"), "", 0)
    If iRetVal > 32 Then
        EnableNetworkInterface = True
    Else
        EnableNetworkInterface = False
    End If
End Function

' 示例用法
If EnableNetworkInterface("Local Area Connection", True) Then
    MsgBox "网络接口已启用。", vbInformation, "成功"
Else
    MsgBox "启用网络接口失败。", vbCritical, "错误"
End If

此代码使用Windows XP中的网络配置API来启用或禁用指定的网络接口。请注意,此代码仅适用于Windows XP,不适用于其他版本的Windows操作系统。

在此示例中,我们使用了EnableNetworkInterface函数来启用或禁用指定的网络接口。该函数接受两个参数:sInterfaceName表示要启用或禁用的网络接口名称,bEnable表示是否启用该接口。如果成功启用或禁用网络接口,则函数返回True,否则返回False。

在示例用法中,我们调用了EnableNetworkInterface函数来启用名为“Local Area Connection”的网络接口。如果函数返回True,则显示一个消息框,指示网络接口已成功启用。否则,将显示一个错误消息框。

请注意,此代码需要以管理员权限运行,以便具有足够的权限来修改网络接口的状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券