Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Post Mensaje WM de minimizar todo...

Buenos dias, les molesto en esta oportunidad con el siguiente problema:
Necesito saber que mensaje manda windows a mi aplicacion cuando presiono la tecla windows+d (hace que se minimizen todas las aplicaciones)
ya que quiero capturar ese mensaje, y no es SC_MINIMIZE (ya lo he probado)

Gracias!
Responder Con Cita
  #2  
Antiguo 01-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
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
  #3  
Antiguo 01-09-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Capturando el Mensaje...

Ante todo Dec quiero agradecer tu dedicacion como en troas oportunidades!!

en cuanto a ..

Cita:
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)
Je!... justo lo que tu dices en el ejemplo tratar de hacer que una aplicacion no se minimize!, no he tenido resultado positivo aun... este windows siempre con sus cosas raras...!!!

ya he probado de capturar el SC_MINIMIZE :

Código:
begin 
  if (Msg.Cmdtype = SC_MINIMIZE)
  then Msg.Result:=0;
  else DefaultHandler(Msg);
end;
y no me funciona, voy a chequear mas con el programa que tu comentas a ver si puedo hacer algo. en cuanto al mensaje 45057 veo que lo detecta al poner windows +d pero no he podido hacer nada que sirva por el momento... como tu dices, windows igual se las arregla para minimizar la aplicacion.

Vamos a ver que pasa... si se algo nuevo sera posteado para que cuando alguien le pase eso lo pueda aprovechar!,,Gracias de nuevo dec!

SALUDOS.-
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


La franja horaria es GMT +2. Ahora son las 03:55:11.


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