Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Simular teclas WINDOWS+M para mostrar el escritorio

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Simular teclas WINDOWS+M para mostrar el escritorio Responder citando

Existe alguna función/Metodo para mostrar el escritorio al igual que se hace cuando se pulsan las teclas Windows+M, que esto lo hace es minimizar todas las ventanas abiertas.
O que tambien se pueda simular la pulsación de esas 2 teclas.

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

MarioMarieti escribió:
Existe alguna función/Metodo para mostrar el escritorio al igual que se hace cuando se pulsan las teclas Windows+M, que esto lo hace es minimizar todas las ventanas abiertas.

#include <ComObj.hpp>
Variant shell = CreateOleObject("Shell.Application");
shell.OleProcedure("MinimizeAll");

MarioMarieti escribió:
O que tambien se pueda simular la pulsación de esas 2 teclas

keybd_event(VK_LWIN, 0, 0 ,0);
keybd_event('M', 0, 0 ,0);
keybd_event('M', 0, KEYEVENTF_KEYUP,0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Muchas gracias Leo, una vez más. Funcion perfectamente.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Pero, ahora tengo otro problema. El formulario sobre el aplico la simulacion esta para mostrar el escritorio lo muestro con form->ShowModal. Y entonces al ejecutar esa instrucción no muestra el escritorio, lo que hace es poner la ventana como inactiva.


Se podría solucionar esto de alguna manera.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Puedes probar a añadir:

Application->Minimize();

en el mismo procedimiento donde usas el código anterior, también puedes probar con "Windows+D" que oculta todas las ventanas:

#include <ComObj.hpp>
Variant shell = CreateOleObject("Shell.Application");
shell.OleProcedure("ToggleDesktop");

o bien:

keybd_event(VK_LWIN, 0, 0 ,0);
keybd_event('D', 0, 0 ,0);
keybd_event('D', 0, KEYEVENTF_KEYUP,0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias Leo, era justo lo que quería, y como no funciona perfectamente.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.