Reinicio de la PC
Alguien sabe si es posible detectar cuando se va a reiniciar una PC, esto por que tengo un programa que quiero se termine cuando se reinicie o apague la PC.
Hola JuAn AlBeRtO.
Lo que quieres hacer si es posible, si usas delphi y espero que asi sea se hace de la siguiente manera:
Como una pequeña introduccion cuando Windows se va apagar o reiniciar le manda (WM_QueryEndSession) a todas las aplicaciones abiertas para que estas terminen de guardar o no permitir que windows se cierre.
Lo que debes hacer es añadir estos dos declaraciones a tu proyecto
****************************************************
private
{ Private declarations }
Procedure WMEndSession(var Msg : TWMEndSession) ;
message WM_ENDSESSION;
Procedure WMQueryEndSession (var Msg : TWMQueryEndSession) ;
message WM_QueryEndSession;
****************************************************
Y Por ultimo se agregan los procedimientos
****************************************************
implementation
{$R *.dfm}
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession) ;
begin
if MessageDlg('Windows se va a cerrar. ¿Desea Continuar?', mtConfirmation,
[mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1 ;
end;
procedure TForm1.WMEndSession(var Msg : TWMEndSession) ;
begin
if Msg.EndSession = TRUE then
ShowMessage('Windows se esta cerrando') ;
inherited;
end;
****************************************************
En este procedimiento WMQueryEndSession es donde puedes o no permitir que windows se cierre auque puedes omitir la pregunta y escribir tu codigo aqui
En el Procedimiento WMEndSession es cuando te avisa que se esta cerrando windows
Cualquier otra duda estamos para servirte.
Lo que quieres hacer si es posible, si usas delphi y espero que asi sea se hace de la siguiente manera:
Como una pequeña introduccion cuando Windows se va apagar o reiniciar le manda (WM_QueryEndSession) a todas las aplicaciones abiertas para que estas terminen de guardar o no permitir que windows se cierre.
Lo que debes hacer es añadir estos dos declaraciones a tu proyecto
****************************************************
private
{ Private declarations }
Procedure WMEndSession(var Msg : TWMEndSession) ;
message WM_ENDSESSION;
Procedure WMQueryEndSession (var Msg : TWMQueryEndSession) ;
message WM_QueryEndSession;
****************************************************
Y Por ultimo se agregan los procedimientos
****************************************************
implementation
{$R *.dfm}
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession) ;
begin
if MessageDlg('Windows se va a cerrar. ¿Desea Continuar?', mtConfirmation,
[mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1 ;
end;
procedure TForm1.WMEndSession(var Msg : TWMEndSession) ;
begin
if Msg.EndSession = TRUE then
ShowMessage('Windows se esta cerrando') ;
inherited;
end;
****************************************************
En este procedimiento WMQueryEndSession es donde puedes o no permitir que windows se cierre auque puedes omitir la pregunta y escribir tu codigo aqui
En el Procedimiento WMEndSession es cuando te avisa que se esta cerrando windows
Cualquier otra duda estamos para servirte.
Exelente Fer necesito saber mas respecto a estas cosas, me podrias sugerir algun libro, manual o direccion de internet donde pueda encontrar mas sobre estas cosas, por ejemplo a mi me gustaria saber como hago para reiniciar el windows desde un programa en delphi y una vez reiniciado continue ejecutandose lo que sigue del programa, deseo saber cosas de ese tipo gracias.
PD. Mi correo es: [email protected] si pudieras darme la respuesta a este correo excelente bye cuidate
PD. Mi correo es: [email protected] si pudieras darme la respuesta a este correo excelente bye cuidate
