处理Windows应用程序的结束过程

Ras*_*dit 10 .net c# event-handling

是否可以在同一个Windows应用程序本身内捕获Windows应用程序的任务管理器结束进程?我正在使用一个C#2.0 win应用程序,我希望在结束进程发生时进行一些数据库处理(在数据库中将标志从'Y'更改为'N').

For*_*ker 10

不,不可能挂钩操作系统结束进程的决定.注意,这不是由任务管理器完成的,结束一个进程是内核的责任.

你需要在这里做两件事:

  1. 将事件处理程序连接到告诉应用程序退出的普通用户界面消息.使用这些事件来保存数据,释放资源,以及以其他方式彻底退出.
  2. 尽可能处理异常以捕获错误并清理和保存数据.

以下是Raymond博客的三个链接,解释了为什么你不能做你所要求的.

此外,我在这里解决了类似的StackOverflow问题.