Muito obrigado  José Nilton Pace,

Desta forma é muito mais eficiente.

--- Em delphi-br@yahoogrupos.com.br, "JNP - NetSite" <j...@...> escreveu
>
> Olá Wandarlei, tenho anotado aqui um pouco diferente, testa aí...
> Quando o Windows está finalizando, ele envia a mensagem WM_QueryEndSession 
> para todas aplicações abertas. Para detectar (e impedi-la), deve-se definir 
> um manipulador para esta mensagem. Ponha esta definição na seção privada de 
> seu form:
> procedure WMQueryEndSession(var Msg : TWMQueryEndSession); message 
> WM_QueryEndSession;
> 
> E ponha este método na seção implementation da unit:
> 
> procedure TForm1.WMQueryEndSession(var Msg : TWMQueryEndSession);
> begin
>   if MessageDlg('Fecha o Windows ?', mtConfirmation, [mbYes,mbNo], 0) = mrNo 
> then
>     Msg.Result := 0
>   else
>     Msg.Result := 1;
> end;
> 
> []s, José Nilton Pace (JNP Software)...
>


Responder a