Windowsのシャットダウンを検知するには WndProcを上書きします。
ここでキャッチされたメッセージを解析して、どのような理由でフォームが閉じられようとしているのかを調べます。
WM_ENDSESSIONが発行されていたらそれは、OSのシャットダウンによってFormが閉じられようとしているということです。
bool ShutDownFlag = false;
protected override void WndProc(ref Message m)
{
const int WM_ENDSESSION = 0x16;
switch (m.Msg)
{
case WM_ENDSESSION:
Console.WriteLine("Windows is shutting down!!");
ShutDownFlag = true;
break;
}
base.WndProc (ref m);
}
目次に戻る
| Copyright(c) 2008 WoodenSoldier Software |
|