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;
|