0

在程序(如记事本或 firefox)刚刚关闭后,我需要执行一些指令。有没有办法知道程序何时刚刚关闭然后执行这些指令?

4

3 回答 3

2

您可以获取进程的句柄,然后等待它发出信号

于 2012-04-20T20:13:08.260 回答
1

既然您谈论“关闭”程序,我假设关闭的程序具有顶级窗口。注册一个shell 挂钩,以便在销毁窗口时收到通知 (HSHELL_WINDOWDESTROYED)。您只需检查窗口是否属于您要观看的进程。您可以使用GetWindowThreadProcessId函数来执行此操作。

于 2012-04-20T18:59:06.843 回答
0

在 .Net 中,您应该能够通过为感兴趣的进程 连接到Process.Exited来做到这一点。

如果您想对任何更复杂的 EXE 实例执行此操作。您可以使用WMI 事件Win32_Process来监视具有匹配模式的对象上的实例删除。

于 2012-04-20T18:10:19.093 回答