2011-06-26 77 views
0

如何在無線連接建立後啓動vbs腳本?如何在windows xp中檢測到互聯網連接後啓動vbs腳本?

在此先感謝。

+0

問題屬於超級用戶 – Ibu

+0

您需要提供更多信息,如果您希望任何人幫助,卡洛斯。 – JohnZaj

+1

問題對我來說似乎很清楚。如何在建立WiFi連接後自動執行VBScript。這個問題也可以說是關於編程,因爲答案最終可能會顯示出來。我通常是一個傲慢的SOB,關於不清楚的問題,但是這個問題完全公平(需要注意的是,它沒有顯示任何研究成果 - 但這不是一個容易找到的問題)。 –

回答

1

您可以啓動一個VBScript,以查找來自Internet站點/設備/響應的任何響應。當它看到它,它會執行代碼,否則它將嘗試長達XX分鐘並中止,例如:

Const strTarget = "cnn.com" 

startTime = Time 
boolExitFlag = False 

Do 

    ' Check to see if I can get a ping response from target 
    If Ping(strTarget) Then 

     ' Call the code to run on connect 
     Call runOnWIFI    
     boolExitFlag = True 
    End If 


    WScript.sleep 1000 ' Pause for 1 seconds before next attempt 

    ' Stop trying after 5 minutes 
    If DateDiff("s", startTime, time) => 300 then boolExitFlag = True 

Loop while boolExitFlag <> True 



' * * * * * * * * * * * * * * * * * * * * * * * * * * * 
' Subroutine to run when WIFI connection is detected 
' * * * * * * * * * * * * * * * * * * * * * * * * * * * 
Sub runOnWIFI 

    ' INSERT CODE TO RUN ON WIFI CONNECTION HERE 

End Sub 



' * * * * * * * * * * * * * * * * * * * * * * * * * * * 
' Subroutine to see if the target machine is online 
' * * * * * * * * * * * * * * * * * * * * * * * * * * * 
Function Ping(strHost) 

    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & strHost & "'") 

    z = 0 
    Do  
     z = z + 1 
     For Each objRetStatus In objPing   
      If IsNull(objRetStatus.StatusCode) Or objRetStatus.StatusCode <> 0 Then    
       PingStatus = False   
      Else 
       PingStatus = True    
      End If  
     Next  

     ' Try a few times in case machine doesn't respond right away 
     wscript.sleep 200 
     If z = 4 Then Exit Do 

    Loop until PingStatus = True 

    If PingStatus = True Then 
     Ping = True 
    Else 
     Ping = False 
    End If 

End Function 
0

您的應用程序可以簡單地使用cscript.exe運行.vbs文件。例如

cscript.exe ScriptToLaunch.vbs 

要檢測互聯網連接,您可以簡單地使用某種'ping'命令。例如,請參閱VBS to check for active internet connection,並將其適用於...無論您正在使用哪種開發堆棧。