Код:
type
TForm1 = class(TForm)
private
procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
{ Private declarations }
public
{ Public declarations }
end;
var
//для потока
cs : TCriticalSection;
UpdateThread : TUpdateThread;
Form1: TForm1;//создаем форму для отслеживания завершения работы
procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
application.Terminate;
end;
procedure TUpdateThread.Execute;
var
MyForm :TFORM;
begin
MyForm := Form1.Create(Application);
MyForm.Show();
end;
begin
//создаем поток на отслеживание выключения компьютера
cs := TCriticalSection.Create;
UpdateThread := TUpdateThread.Create(true);
UpdateThread.Resume();
end.
к сожалению то же самое - при выключении компьютера просит подождать пока завершит мою программу