有没有办法知道程序什么时候刚关闭?

时间:2012-04-20 18:00:02

标签: winapi window

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

3 个答案:

答案 0 :(得分:2)

您可以获取流程的句柄,然后wait for it to be signaled

答案 1 :(得分:1)

你正在谈论"关闭"一个程序,我假设关闭的程序有一个顶级窗口。 注册shell hook以便在窗口被销毁时收到通知(HSHELL_WINDOWDESTROYED)。您只需检查窗口是否属于您要观看的进程。您可以使用GetWindowThreadProcessId功能来执行此操作。

答案 2 :(得分:0)

在.Net中,您应该可以通过挂钩Process.Exited来了解感兴趣的过程。

如果你想为那个更复杂的EXE实例做这个。您可以使用WMI Events来监视具有匹配模式的Win32_Process个对象上的实例删除。