stocercando di scrivere uno script che parta all'avvio del pc, non
appena la LAn sia attiva.
il problema è: come faccio a sapere *quando* la LAN funziona? mi
servirebbe qualcosa del tipo
Lan_OK = False
Do While Lan_OK == False
WScript.sleep 1000
If Lan_Working()
LAN_OK = True
end If
Loop
come posso fare?
grazie mille per ogni suggerimento!
andre
Ho questo codice che non ho né provato né analizzato. Prova a lavorarci sopra.
Cerca la cartella "connessioni di rete" nel pannello di controllo.
Cerca la "Connessione alla rete locale (LAN)" , ma va cambiato se la tua connessione di
rete ha un nome diverso.
Poi c'è uno spezzone di codice che indaga lo stato della connessione.
Credo però che il metodo con il ping illustrato su microsoft.public.scripting.vbscript sia
più agevole.
Bye Bye
Giovanni.
Const ssfCONTROLS = 3
'sConnectionName = "Local Area Connection" 'Default Eng "Local Area Connection"
sConnectionName = "Connessione alla rete locale (LAN)"
'Rinominare secondo il nome dato alla propria rete locale es: "lan_a"
'Verbs in Italiano su lan_a:
' &Disabilita
' &Stato
' Ripristina&a
' Co&nnessioni con bridging
' Crea c&ollegamento
' &Elimina
' &Rinomina
' &Proprietà
sEnableVerb = "Ripristina&a"
sDisableVerb = "&Disabilita"
set shellApp = createobject("shell.application")
Set oControlPanel = shellApp.Namespace(ssfCONTROLS)
Set oNetConnections = shellApp.Namespace(ssfCONTROLS)
'------------------------------------------------------------
Set oNetConnections = nothing
' Cerca la cartella "connessioni di rete" nel pannello di controllo
For each folderitem in oControlPanel.items
' if folderitem.name = "Network and Dial-up Connections" then
if folderitem.name = "Connessioni di rete" then
set oNetConnections = folderitem.getfolder: exit for
end if
Next
If oNetConnections is nothing then
' msgbox "Couldn't find 'Network and Dial-up Connections' folder"
msgbox "Non trovata la cartella 'Connessioni di rete'"
wscript.quit
End if
'------------------------------------------------------------
'------------------------------------------------------------
set oLanConnection = nothing
for each folderitem in oNetConnections.items
' Cerca "Connessione alla rete locale (LAN)"
If lcase(folderitem.name) = lcase(sConnectionName) Then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing Then
' msgbox "Couldn't find '" & sConnectionName & "' item"
MsgBox "Non Trovata la rete locale '" & sConnectionName & "' "
wscript.quit
end if
'------------------------------------------------------------
'------------------------------------------------------------
bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
' Indaga lo stato della connessione e lo salva in bEnabled
For Each verb In oLanConnection.Verbs
If verb.name = sEnableVerb Then
set oEnableVerb = verb
bEnabled = False
end if
if verb.name = sDisableVerb then
set oDisableVerb = verb
bEnabled = True
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.
'
--
Giovanni Cenati (Aosta, Italy)
Write to user "Reventlov" and domain at katamail com
http://digilander.libero.it/Cenati (Esempi e programmi in VbScript)
--