2008-10-28 67 views
5

.NET中有可能确定我的应用程序是否由于Windows被赋予关闭命令而关闭(而不是任何旧应用程序关闭)以便写出一些临时缓存文件甚至阻止关机时间足以提示用户输入?确定关机正在关闭我的应用程序

虽然我目前的范围涉及到一个winform应用程序和窗口服务,我很感兴趣,如果可能的话

回答

7

SystemEvents.SessionEnding看起来像一个很好的出发点,你了解这一个通用的方法。那篇文章谈到了当注销/关机时发生的事件顺序。

4

一般而言,您将需要处理WM_QUERYENDSESSION Windows消息。这将使您的应用程序有机会进行清理,或者在真正有必要时阻止关闭。

2

处理Microsoft.Win32.SystemEvents类型的SessionEnded事件。