| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Mie 09 Ene, 2008 3:35 am Asunto: Como detectar el cierre de windows? |
|
|
Hola foro
Necesito saber como detectar el cierre de windows , es decir cuando windows se vaya a cerrar quiciera ejecutar determinada accion en la pc o en mi programa.
saludos ifrit _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Sab 12 Ene, 2008 12:06 pm Asunto: |
|
|
hola ifrit, para ejecutar alguna tarea determinada cuando windows se esta cerradando por un shutdown o reboot puedes hacer esto,
en la h
| Código: | //---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes>
#include <Controls>
#include <StdCtrls>
#include <Forms>
//---------------------------------------------------------------------------
class PACKAGE TForm1 : public TForm
{
__published: // IDE-managed Components
void __fastcall WMEndSession(TWMEndSession &Message);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
protected:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_ENDSESSION,TWMEndSession, WMEndSession)
END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif |
y en la cpp
| Código: | //---------------------------------------------------------------------------
#include <vcl>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WMEndSession(TWMEndSession &Message)
{
//aqui tu rutina que se ejecutara cuando se este cerrando widnows
}
|
saludos tor _________________ Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr) |
|
| Volver arriba |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Mar 15 Ene, 2008 12:07 am Asunto: |
|
|
Tor muchas gracias por mandarme la respuesta y disculpen la tardanza es que estaba fuera de provincia , ahora mismo revise el codigo y me da estos errores:
[C++ Warning] Unit1.cpp(4): W8058 Cannot create pre-compiled header: write failed
[C++ Error] Unit1.cpp(19): E2316 '_fastcall TForm1::FormCreate(TObject *)' is not a member of 'TForm1'
y me marca el error en esta linea:
MESSAGE_HANDLER(WM_ENDSESSION,TWMEndSession, WMEndSession)
ademas de que en el .h
class PACKAGE TForm1 : public TForm
en mi version del 2006 (builder 6 ) nunca he visto lo de PACKAGE despues de class
por favor si puedes resolver mis poblemas estaria muy agradecido
mis saludos y mis respetos ifrit _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Mar 15 Ene, 2008 2:47 am Asunto: |
|
|
hola ifrit, la verdad yo ni siquiera e instalado cb2006, puede que alguien que lo este utilizando a cb2006 pueda testear, por lo pronto si tepuede ayudar en algo me das un correo te puedo enviar un pequeño proyecto (fuente + binario) para cb6 que es el que utilizo en este momento recuerdo haberlo probado en cb5 y funciona sin problemas y creo q en el cb4 tambien, no estoy muy seguro en este ultimo, generalmente esta rutina lo utilizo para cerrar archivos, bd, etc en caso que alguien cierre el sistema sin cerrar el programa.
saludos tor. _________________ Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr) |
|
| Volver arriba |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Mar 15 Ene, 2008 3:03 am Asunto: |
|
|
estaba miranado en google y parecer haber algo sobre el error que te da, por el warning no te preocupes deberia compilarse = , asi q si gogleeas un poco puede que encuentres la solucion, yo no puedo reproducir el mismo error, si encuentras algo postealo bye. _________________ Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr) |
|
| Volver arriba |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Mar 15 Ene, 2008 3:23 am Asunto: |
|
|
tor ya te he mandado el correo electronico asi que dependo de ti para seguir adelante nuevamente mis saludos y mis respetos
atentamente ifrit _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
|