~~~~~~~~~~~~~~~~~~~~~~~~~
procedure WMQueryEndSession
(var Msg : TWMQueryEndSession) ;
message WM_QueryEndSession;
~~~~~~~~~~~~~~~~~~~~~~~~~
Also, to prevent Windows shutting down put this method in the implementation section of the unit:
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.WMQueryEndSession
(var Msg : TWMQueryEndSession) ;
begin
if MessageDlg('Close Windows ?',
mtConfirmation,
[mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1 ;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
To detect Windows Shutdown, we must trap the WM_EndSession message. Declare a message handling procedure in your main Form's Private section:
~~~~~~~~~~~~~~~~~~~~~~~~~
Procedure WMEndSession
(var Msg : TWMEndSession) ;
message WM_ENDSESSION;
~~~~~~~~~~~~~~~~~~~~~~~~~
Also, add the following procedure to the implementation section of your Unit:
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.WMEndSession
(var Msg : TWMEndSession) ;
begin
if Msg.EndSession = TRUE then
ShowMessage('Windows is shutting down ' + #10#13
+ 'at ' + FormatDateTime('c', Now)) ;
inherited;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
Delphi tips navigator:
» Overwrite in TMemo and TEdit - Clear All Edit Controls on a Form
« ListBox with a horizontal scroll bar
