1

在 C# 中我使用 process.Kill() 杀死一个进程,同时在被杀死的应用程序中如何检测此事件?

顺便说一句:Application.ApplicationExit 事件尚未被触发!

4

2 回答 2

1

如果它是一个 winform,您可以捕获该事件FormClosing并检查CloseReason

None
WindowsShutDown
MdiFormClosing
UserClosing
TaskManagerClosing
FormOwnerClosing
ApplicationExitCall
于 2009-09-03T09:03:32.117 回答
1

没有简单的方法可以实现这一点,尽管可以使用代码注入、api 挂钩和许多其他技术来实现这个目标,但我的问题是,你真的想要做很多额外的工作吗?只是为了确保您的应用程序知道意外终止?您必须确保您的代码注入/挂钩(或您选择的任何方法)其他人可以用来终止您的应用程序的每一种可能的方法,当有人确实进行其中一个调用时,您的应用程序可以触发它自己的事件,表明它应该处理这样的事件并准备退出。本质上,您也可以使用它来阻止其他任何人也能够关闭您的应用程序。

如果您想了解有关这些技术的更多信息,请告诉我,我会发布一些链接。祝你好运!

于 2010-01-24T18:51:14.283 回答