1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
   | ' http://astase.com/forums/viewtopic.php?id=3094
 
 
Const ssfCONTROLS = 3
 
'"Connexion au réseau local" pour une connexion réseau classique RJ45 ou "Connexion réseau sans fil" pour la connexion Wifi
sConnectionName = "Connexion au réseau local"
sConnectionDir = "Connexions réseau"                        'Pour Windows XP
'sConnectionDir = "Connexions réseau et accès à distance"   'Pour Windows 2000
 
sEnableVerb = "&Activer"
sDisableVerb = "&Désactiver"
 
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
 
set oNetConnections = nothing
for each folderitem in oControlPanel.items
  if folderitem.name  = sConnectionDir then
    set oNetConnections = folderitem.getfolder: exit for
  end if
next
 
if oNetConnections is nothing then
  msgbox "Ne peut trouver le dossier '"+sConnectionDir+"'"
  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 "Impossible de trouver la connection :  '" & sConnectionName & "'"
  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 1000 | 
Partager