单击Vbs关闭程序

时间:2015-06-29 18:59:31

标签: loops vbscript

我试图让我的脚本遍历if语句并关闭程序,如果它们是打开的。但是,根据我现在的情况,我只能通过单击脚本两次来关闭if语句中的程序。我怀疑我可能需要一个不同的循环,但我不知道哪一个。这就是我现在拥有的。

Set oShell = CreateObject("WScript.Shell") 
Do 
if oShell.AppActivate("Untitled - Notepad") then
   WScript.Sleep 500
   oShell.SendKeys "%{F4}"

end if

if oShell.AppActivate("Cisco Packet tracer") then
   WScript.Sleep 500
   oShell.SendKeys "%{F4}"

end if

exit do
loop

1 个答案:

答案 0 :(得分:0)

如果每个应用程序都有多个实例,则应该迭代直到不再存在应用程序

Option Explicit

Dim shell
    Set shell = CreateObject("WScript.Shell")

Dim aApps
    aApps = Array("Untitled - Notepad", "Cisco Packet tracer")

Dim keepTrying, app
    keepTrying = True

    Do While keepTrying

        keepTrying = False 

        For Each app in aApps 
            If shell.AppActivate(app) Then 
                WScript.Sleep 500
                shell.SendKeys "%{F4}"
                keepTrying = True 
            End If
        Next 

    Loop