当前位置 博文首页 > 用vbs实现本地连接禁用/启用脚本代码

    用vbs实现本地连接禁用/启用脚本代码

    作者:admin 时间:2021-02-18 21:37

    转载至 http://community.csdn.net/Expert/topic/4881/4881882.xml

    复制代码 代码如下:

    Const ssfCONTROLS = 3 

    sConnectionName = "本地连接"  '可改成需要控制的连接名称,如"无线网络连接"等 

    sEnableVerb = "启用(&A)" 
    sDisableVerb = "禁用(&B)"   'XP系统中应为 "停用(&B)" 

    set shellApp = createobject("shell.application") 
    set oControlPanel = shellApp.Namespace(ssfCONTROLS) 

    set oNetConnections = nothing 
    for each folderitem in oControlPanel.items 
     if folderitem.name  = "网络连接" then 
       set oNetConnections = folderitem.getfolder: exit for 
     end if 
    next 

    if oNetConnections is nothing then 
     msgbox "未找到网络连接文件夹" 
     wscript.quit 
    end if 

    set oLanConnection = nothing 
    for each folderitem in oNetConnections.items 
     if lcase(folderitem.name)  = lcase(sConnectionName) then 
       set oLanConnection = folderitem: exit for 
     end if 
    next 

    if oLanConnection is nothing then 
     msgbox "未找到 '" & sConnectionName & "' item" 
     wscript.quit 
    end if 

    bEnabled = true 
    set oEnableVerb = nothing 
    set oDisableVerb = nothing 
    s = "Verbs: " & vbcrlf 
    for each verb in oLanConnection.verbs 
     s = s & vbcrlf & verb.name 
     if verb.name = sEnableVerb then  
       set oEnableVerb = verb   
       bEnabled = false 
     end if 
     if verb.name = sDisableVerb then  
       set oDisableVerb = verb   
     end if 
    next 

    'debugging displays left just in case... 

    'msgbox s ': wscript.quit 
    'msgbox "Enabled: " & bEnabled ': wscript.quit 

    'not sure why, but invokeverb always seemed to work  
    'for enable but not disable.   

    'saving a reference to the appropriate verb object  
    'and calling the DoIt method always seems to work. 

    if bEnabled then 
    '  oLanConnection.invokeverb sDisableVerb 
     oDisableVerb.DoIt 
    else 
    '  oLanConnection.invokeverb sEnableVerb 
     oEnableVerb.DoIt 
    end if 

    'adjust the sleep duration below as needed... 

    'if you let the oLanConnection go out of scope 
    'and be destroyed too soon, the action of the verb 
    'may not take... 

    wscript.sleep 400 
    js