Закрытие процесса, когда отдельный процесс закрывается - PullRequest
0 голосов
/ 27 марта 2019

Поэтому я использую планировщик задач для запуска определенного файла (c: \ Newfile.exe) после запуска определенной программы (c: \ Program.exe).

Я хотел бы знать, как я могу закрыть «Newfile.exe», когда «Program.exe» закрывается. Я знаю, что это невозможно сделать с помощью планировщика задач. Кто-нибудь знает способ достижения результата этого сценария?

С уважением

Пробовал с помощью планировщика задач

1 Ответ

0 голосов
/ 27 марта 2019

Эта программа запускается в ожидании завершения программы, проверяет, был ли это 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
...