| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Lun 28 Ene, 2008 1:57 pm Asunto: Simular teclas WINDOWS+M para mostrar el escritorio |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 28 Ene, 2008 4:00 pm Asunto: |
|
|
| 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 |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Mar 29 Ene, 2008 9:58 am Asunto: |
|
|
| Muchas gracias Leo, una vez más. Funcion perfectamente. |
|
| Volver arriba |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Mar 29 Ene, 2008 10:13 am Asunto: |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 29 Ene, 2008 11:25 am Asunto: |
|
|
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 |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Mar 29 Ene, 2008 1:22 pm Asunto: |
|
|
| Gracias Leo, era justo lo que quería, y como no funciona perfectamente. |
|
| Volver arriba |
|
 |
|