是否存在事件或方法来捕获从我的应用程序外部杀死进程的时间。
我在下面尝试了这两个事件,但当我在TaskManager
中杀死进程时,它不会报告任何内容。
private void startServer()
{
proc = new Process();
proc.Exited += proc_Exited;
proc.Disposed += proc_Disposed;
}
void proc_Disposed(object sender, EventArgs e)
{
//Report here
}
void proc_Exited(object sender, EventArgs e)
{
//Report here
}
答案 0 :(得分:2)
如果您在应用程序中关闭(通过用户单击x按钮时的代码),而不是从外部(从任务管理器中删除),则只会触发已退出和已处置的事件。当某人从任务管理器中杀死/终止您的应用程序时,没有简单的方法可以捕获。你可以做api钩子捕获它。请查看API hooking revealed如何操作。