Systray - como evitar que uma aplicacao tray nao deixe o windows desligar

Top  Previous  Next

// Como evitar que uma aplicação Tray não deixe o windows desligar:

 

Coloque as definições abaixo na seção Private de sua Unit

 

  private

    { Private declarations }

    Procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION;

    procedure WMQueryEndSession(var Msg : TWMQueryEndSession); message WM_QUERYENDSESSION;

 

em seguida, defina-as na seção implementation

 

procedure TForm1.WMEndSession(var Msg : TWMEndSession);

begin

   if Msg.EndSession = TRUE then Begin

      // Coloque aqui qualquer processo a ser feito antes do windows encerrrar:

      // Apagar temporários, fechar tabelas, etc...

   end;

   inherited;

End;

 

 

procedure TForm1.WMQueryEndSession(var Msg : TWMQueryEndSession);

begin

  Msg.Result := 1;  // 1 = Permite Shutdown, 0 = Evita Shutdown;

end;