当一个单独的进程关闭时,关闭进程

时间:2019-03-26 23:20:09

标签: batch-file process task scheduler

因此,我使用任务计划程序在启动特定程序(c:\ Program.exe)后运行特定文件(c:\ Newfile.exe)。

我想知道当“ Program.exe”关闭时如何关闭“ Newfile.exe”。我知道任务调度程序无法做到这一点,有人知道实现此方案结果的方法吗?

亲切的问候

使用任务计划程序尝试

1 个答案:

答案 0 :(得分:0)

该程序运行,等待程序退出,检查它是否为Notepad.exe,是否终止了MyProgram.exe。终止程序后,使用Exit Do退出脚本。

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
Set objEvents = objWMIService.ExecNotificationQuery _
    ("SELECT * FROM Win32_ProcessStopTrace")

Do
    Set objReceivedEvent = objEvents.NextEvent
    If lcase(objReceivedEvent.ProcessName) = lcase("Notepad.exe") then 
        Msgbox "Process exited with exit code " & objReceivedEvent.ExitStatus
        Set colItems = objWMIService.ExecQuery("Select * From Win32_Process where ProcessName=MyProgram.exe")
        For Each itm in ColItems
             itm.Terminate
        Next
    End If
Loop