| Delphi Tips & Tricks | softsale > Delphi Tips & Tricks |
| < poprzednia rada | następna rada > |
Jak zabezpieczyć się przed zamknięciem Windows w trakcie działania aplikacji?
Aby zabezpieczyć się przed próbą zamknięcia systemu Windows w trakcie działania naszej aplikacji należy przechwycić komunikat WM_QUERYENSESSION wysyłany przez Windows do wszystkich aplikacji i odpowiednio go obsłużyć jeżeli na przykład nie chcemy aby system został zamknięty w trakcie jakiegoś procesu w naszej aplikacji.
...
type
TForm1 = class(TForm)
private
procedure WMQueryEndSession(var Msg:TWMQueryEndSession); message WM_QUERYENDSESSION;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
if MessageBox(Handle,'Czy można zakończyć aplikację', nil, MB_OKCANCEL)= IDCANCEL then
msg.result:=0 else msg.result:=1;
end;
Jeżeli pozwalamy na zamknięcie Windows ustawiamy msg.result na wartość 1 w przeciwnym wypadku na wartość zero. |
|
SOFTSALE - Oprogramowanie i Szkolenia softsale@softsale.com.pl 03-565 Warszawa , ul. Borzymowska 43 lok. 301C tel/fax:4084840,GSM:0607612428 |