Zitat von
xZise:
Aber ich wills ja net abbrechen sondern nur "hinauszögern" ohne das gleich die Meldung kommt.
Dann hilft Dir sicher dies:
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Classes, Forms,
Registry, ShellAPI, WinInet;
type
TForm1 = class(TForm)
private
procedure CleanDir(SearchDir : string);
procedure WMQueryEndSession(var Msg: TMessage); message WM_QUERYENDSESSION;
procedure WMEndSession(var Msg: TMessage); message WM_ENDSESSION;
end;
Im implementation-Teil dann noch:
Delphi-Quellcode:
procedure TForm1.WMQueryEndSession;
begin
Msg.Result := 0;
CleanDir;
Down := true;
Msg.Result := 1;
end;
procedure TForm1.WMEndSession;
begin
while not Down
do Sleep(100);
Msg.Result := 1;
Self.Close;
end;