Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ejecutar programa al apagar (https://www.clubdelphi.com/foros/showthread.php?t=39129)

Iskariote0087 11-01-2007 10:29:52

Ejecutar programa al apagar
 
Hola he hecho un programita que me envia un mensaje cada vez que se reinicia un equipo de los que controlamos, pues bien, yo lo he puesto en el inicio pero no me vale, tambien me envia mensaje si se cierra y abre sesion.A mi lo que me interesa es que me envie el mensaje solo cuando se reinicie.He pensado hacerlo al apagar pero no se donde poner el programa.Alguna idea.

Un saludete Perretes
Iskariote

Neftali [Germán.Estévez] 11-01-2007 11:05:16

Creo que puedes detectarlo interceptando el mensaje WM_QUERYENDSESSION.

...Añado/Edito:

Segun la API, después de que windows envía este mensaje, y si todas las aplicaciones se pueden cerrar, se envía otro WM_ENDSESSION cuyo parámetro wParam es True si se está haciendo un ShutDown.

Añado:
Buscando por ese mensaje, he llegado a este truco; A ver si te sirve.

mierda 11-01-2007 19:56:12

Un poco de codigo ....
 
Hola, este es el codigo q yo utilizo cuando van a apagar o van a reiniciar


Código Delphi [-]
 
    procedure WMQueryEndSession (var Msg: TWMQueryEndSession);
    message WM_QueryEndSession; 
  

procedure TFprincipal.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin

Msg.Result := 0;
// aki va todo lo q quieras hacer
try
  if (conectado = true) and (Timerconectar.Enabled = false) then
    guarda_valores;
  except
    end;
 
// aqui ves si se apaga o reinicia
 
{if EndSessionFlags <> 0 then
  ExitWindowsEx(EWX_LOGOFF,0) // Cerramos windows
else
  ExitWindowsEx(EWX_SHUTDOWN,0);    // Apagamos Windows
}
 
// ya le decimos que continue con el apagado/reiniciado
Msg.Result := 1;
 
end;

Un saludo.


La franja horaria es GMT +2. Ahora son las 21:37:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi