在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]

Posted

技术标签:

【中文标题】在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]【英文标题】:How to launch vbs script after internet connection is detected in windows xp? [closed] 【发布时间】:2011-09-22 20:10:20 【问题描述】:

wifi 连接建立后如何启动 vbs 脚本?

提前致谢。

【问题讨论】:

问题属于超级用户 如果您需要任何人的帮助,您需要提供更多信息,卡洛斯。 问题对我来说似乎很清楚。如何在建立 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

【讨论】:

【参考方案2】:

您的应用程序可以简单地使用 cscript.exe 运行 .vbs 文件。例如

cscript.exe ScriptToLaunch.vbs

要检测互联网连接,您可以简单地使用某种“ping”命令。例如,请参阅VBS to check for active internet connection 并将其调整为..无论您使用的是什么开发堆栈..

【讨论】:

以上是关于在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用优化大师检测到系统漏洞:补丁名称KB950582,补丁描述WINDOES XP更新程序。

带有 Realtek ALC888 的活动耳机插孔 (Windows XP)

如何用windows优化大师手动优化xp系统?

适用于 Windows XP、7、8 应用程序的 USB 麦克风描述符

使用控制台让 python 在 Windows XP 上以 UTF8 打印

windows xp下如何监控windows服务的状态变化?