当我们通过Windows任务管理器取消某些应用程序时会触发哪个事件?

时间:2012-01-13 12:22:15

标签: c# .net wpf windows events

如果我通过Windows任务管理器取消它,我需要知道哪个事件在WPF应用程序中触发?

想法是终止内部App。工作准确。

谢谢!

3 个答案:

答案 0 :(得分:4)

  • 当您使用“进程”选项卡时,没有任何事件,因为您的进程被简单地终止。
  • 当您使用“应用程序”标签时,会向您的应用程序的顶层发送正常的WM_CLOSE消息。请参阅最后一个答案here,了解如何在WPF应用程序中检测到这一点。

答案 1 :(得分:2)

  

想法是终止内部App。工作准确。

你不能可靠地做到这一点。如果用户以这种方式结束应用程序,则某些内容出现严重错误或者他们根本不关心。你什么也做不了,你敬酒。不要担心自己清理:操作系统会为你做这件事,不需要你感谢。

您可以做的最好的事情是处理标准的关闭事件。如果用户通过正常方式或通过任务管理器请求以礼貌的方式结束您的应用程序,那么这些将被触发(如果用户从“应用程序”选项卡中单击“结束任务”,任务管理器将首先尝试很好地询问) 。但是,既然我认为你已经这样做了,那么你已经尽了所能。

答案 2 :(得分:1)

从任务管理器处理事件是不可能的,因为它适用于ungracefull关闭应用程序。

但是,您可以尝试处理Application类的SessionEnding事件,该事件在MSDN中的以下链接中描述:

http://msdn.microsoft.com/en-us/library/system.windows.application.sessionending.aspx