Windowsの終了を感知する
Windowsが終了しようとするとアプリケーションには WM_QUERYENDSESSION メッセージが送信されます。さらにこのメッセージ ( Msg.Source )にゼロを返せば Windowsの終了をキャンセルする事が可能です。
■ Windowsの終了をメッセージで感知する方法 |
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } procedure QryEnd(var Msg : TWMQueryEndSession); message WM_QUERYENDSESSION; public { Public 宣言 } end; implementation procedure TForm1.QryEnd(var Msg : TWMQueryEndSession); begin if MessageDlg('閉じますか?',mtInforamtion,[mbYes,mbNo],0) = mrNo then begin // Windowsの終了をキャンセルする Msg.Source := 0; end; end; |