如何在另一个程序停止时启动一个程序

如何在另一个程序停止时启动一个程序

我努力了如何在另一个程序启动时启动一个程序并且这运行完美。但是反过来怎么样?我想在 chrome 关闭时运行 .bat。我说的“关闭”是指...我启动 chrome,当我关闭它时,我希望发生一些事情。

Process termination代表带有 ID 的事件4689

所以我尝试过:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4689)]] 
   and 
     *[EventData[Data[@Name='NewProcessName'] and (Data='PATH TO CHROME')]]
    </Select>
  </Query>
</QueryList>

但它根本不起作用...当我关闭 chrome 时,任务没有显示任何新日志。

我是不是遗漏了什么?

Task = 13312默认情况下,使用的部分Process TerimationTask = 13313,但是我已尝试使用和1331213313但似乎不起作用。

更新 1: Chrome 并不是选择并尝试使用任务调度程序的最佳“示例”。我还尝试了不同的程序,这些程序在关闭后没有任何后台处理,例如记事本、扫雷等……这些程序似乎都无法触发任务。

答案1

您不需要使用@Name='NewProcessName',而需要使用@Name='ProcessName'。然后使用Task = 13313(正如您自己提到的)。然后一切都按预期进行。检查

答案2

审计成功有两个进程终止 - 一个是在应用程序启动时,另一个是在应用程序关闭时。您需要添加“and (Data='0x0')”作为参数之一,因为我们想要查看第二个审计成功进程终止。请注意,我们查看的事件不是应用程序进程终止,而是审计成功进程终止。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13313 and (band(Keywords,9007199254740992)) and (EventID=4689)]] 
   and 
     *[EventData[(Data='C:\Program Files\Genshin Impact\launcher.exe') and (Data='0x0')]]
    </Select>
  </Query>
</QueryList>

复制粘贴上述代码,并将目录更改为您想要在关闭时触发的应用程序(EventData[(Data='PATH HERE')。

相关内容