Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Como capturar algo antes de que cierre windows ?

buenas tardes estoy necesitando saber con que mensaje puedo capturar algo antes de que cierre windows o antes de canviar de usuario o de cerrar sesion o todos juntos jejeje probe un codigo de trucomania pero no resulto

desde ya muchas gracias !
Responder Con Cita
  #2  
Antiguo 08-11-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
pero que quieres capturar?? a primera vista se me viene a la mente el mensaje de windows wm_queryensession o algo asi, viene en la ayuda del win32
Responder Con Cita
  #3  
Antiguo 08-11-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Talking

quiero que antes de cerrar sesion o de cerrar window aparezca un mensaje como "chau" o algo el no es importante lo que quiero hacer si no que no se porque no funciona el queryensession

yo prove esto

Cuando el usuario sale de Windows teniendo nuestra apliacación abierta, es posible que la pille en un mal momento (sin grabar datos, en medio de
un proceso, etc). Esto se puede evitar capturando el mensaje que envia Windows a todas las apliacaciones cuando el usuario quiere cerrar
Windows: el mensaje WM_QUERYENSESSION

Para capturar el mensaje y enviarlo a nuestro código de tratamiento del mensaje:



TForm1 = class(TForm)
..........
private
procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
..........
end;



Es decir, basta con que añadamos en la claúsula Private de la declaración del form la siguiente linea:



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



y luego, en la parte implementation, ponemos el código que trate el mensaje:



procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
MessageBox(Handle, 'Cierra antes el programa', nil, MB_OK);
Msg.result := 0;
end;



Si en lugar de abortar el cierre de Windows, queremos que siga realizandose, basta con que cambiemos el Msg.result:=0 por Msg.result:=1.


NOTA: El comportamiento del mensaje difiere en win98 y WinNT, así que mirate la ayuda del mensaje WM_QUERYENDSESSION.

sacado de Trucomania pero no funciono y ahora que lo veo me parece que el procedimiento procedure WMQueryEndSession esta mal escrito .

gracias por la ayuda ahora voy a probar el procedure WM_QueryEndSession
Responder Con Cita
  #4  
Antiguo 08-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Busca también en el foro, se ha tratado varias veces.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar antes de que mi aplicacion se cierre Gelmin Varios 4 24-09-2008 09:20:23
Capturar el cierre de un proceso SyncReuter API de Windows 3 27-03-2008 18:45:44
WM'S de cierre de windows? marceloalegre Varios 5 05-12-2005 20:55:31
Ejecutar algo antes de que se cierre la aplicación Jan_polero API de Windows 3 28-02-2005 10:45:47
Cierre De Windows frankmch Varios 1 21-07-2003 19:08:39


La franja horaria es GMT +2. Ahora son las 18:17:01.


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