Hola amigos, como en la aplicacion antigatos me encontré con el problema de que para probar si funcionaba el codigo del evento WM_ENDSESSION tenia que estar cerrando la sesion de windows pues se me ha ocurrido crearme una pequeña aplicacion que me permita enviar mensajes personalizados y para ello tengo este codigo:
Código PHP:
void __fastcall TForm1::ButtonQueryEndSessionClick(TObject *Sender)
{
HWND hWnd;
UINT message = WM_QUERYENDSESSION;
WPARAM wParam = 0;
LPARAM lParam = 0;
LRESULT result;
hWnd=FindWindow("TFormMain","Bloqueador anti-gato");
result = SendMessage(&hWnd,message,wParam,lParam);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonEndSessionClick(TObject *Sender)
{
HWND hWnd;
UINT message = WM_ENDSESSION;
WPARAM wParam = 0;
LPARAM lParam = 0;
LRESULT result;
hWnd=FindWindow("TFormMain","Bloqueador anti-gato");
result = SendMessage(&hWnd,message,wParam,lParam);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonCloseClick(TObject *Sender)
{
HWND hWnd;
UINT message = WM_CLOSE;
WPARAM wParam = 0;
LPARAM lParam = 0;
LRESULT result;
hWnd=FindWindow("TFormMain","Bloqueador anti-gato");
result = SendMessage(&hWnd,message,wParam,lParam);
}
//---------------------------------------------------------------------------
Veo que el programa no se cierra ni al enviar WM_ENDSESSION, ni con WM_CLOSE y no se que hago mal. La idea es que cuando consiga hacerlo funcionar poder hacer que envie otros mensajes como WM_SETTEXT y WM_VISIBLE y otros por el estilo pero de momento me interesan estos. ¿podeis ayudarme?