Ver Mensaje Individual
  #2  
Antiguo 01-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Trasteando un poco con el programa WinSight (disponible en la carpeta "bin" del directorio en donde instalaras Delphi) he conseguido localizar al menos algunos de los mensajes que Windows envía al presionarse la combinación de teclas que has mencionado.

Al cabo, al cabo (y no me preguntes cómo) he conseguido discriminar el número (integer) de mensaje que se envía (supongo que también se enviará en otras circunstancias) y puedes probarlo, por ejemplo, con un componente "TApplicationEvent" haciendo uso de su evento "OnMessage", tal que así:

Código Delphi [-]
   if Msg.message = 45057 then
   begin
     {
       Lo que pretendas hacer
     }
     Handled := true;
   end;
Sin embargo, el mismo mensaje se recibe al minimizar el formulario principal de la aplicación, por poner un caso. Y, depende de lo que quieras hacer con el susodicho mensaje te será posible o no.

Por ejemplo, yo he tratado de evitar que la aplicación fuera minimizada... ¿cómo? Pues restaurándola al recibir el mensaje, pero, ¿qué dirás que pasa? Pues que Windows parece insistir, hasta el punto de que al cabo, al cabo, la aplicación se minimiza de todas, todas.

Si haces uso del programa WinSight mencionado antes verás que en el momento en que se pulsa la combinación de teclas "Windows + D" se envían varios mensajes a tu aplicación: a ver si tienes tú más vista que yo para lograr a partir de ahí lo que te propongas hacer.

Quiere decirse que tal vez investigando un poco más a partir de ahí logres lo que te propones (cosa que no dices, por cierto) y en cualquier caso más de lo que yo he podido decirte, que ya ves que a fuer de ser poco quizás sea inútil.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita