Показать сообщение отдельно
  #7  
Старый 05.12.2010, 12:43
3nick 3nick вне форума
Прохожий
 
Регистрация: 05.12.2010
Сообщения: 12
Репутация: 10
По умолчанию

Код:
type
  TForm1 = class(TForm)
  private
  procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
    { Private declarations }
  public
    { Public declarations }
  end;
var
    Form1: TForm1;//создаем форму для отслеживания завершения работы
    //для потока
    cs : TCriticalSection;
    UpdateThread : TUpdateThread;

procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
  showmessage('111111');
  Message.Result := Integer(CallTerminateProcs);
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.
вот код полностью... собственно ничего особенно не меняется. при завершении работы компа вместо надписи 111 выскакивает сообщение "завершение работы Project1 через 15 секнуд, завершить задачу?"
Ответить с цитированием