2008-10-28 163 views
5

.NET中有可能確定我的應用程序是否由於Windows被賦予關閉命令而關閉(而不是任何舊應用程序關閉)以便寫出一些臨時緩存文件甚至阻止關機時間足以提示用戶輸入?確定關機正在關閉我的應用程序

雖然我目前的範圍涉及到一個winform應用程序和窗口服務,我很感興趣,如果可能的話

回答

7

SystemEvents.SessionEnding看起來像一個很好的出發點,你瞭解這一個通用的方法。那篇文章談到了當註銷/關機時發生的事件順序。

4

一般而言,您將需要處理WM_QUERYENDSESSION Windows消息。這將使您的應用程序有機會進行清理,或者在真正有必要時阻止關閉。

2

處理Microsoft.Win32.SystemEvents類型的SessionEnded事件。