Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Minimizar todas las ventanas del escritorio (https://www.clubdelphi.com/foros/showthread.php?t=52144)

movorack 11-01-2008 16:50:08

Minimizar todas las ventanas del escritorio
 
Hola foro...

Necesito minimizar todas las ventanas que tengo en mi escritorio y no se como hacerlo...

a ver si me explico mejor: es como presionar Windows+M o presionar "Mostrar Escritorio" en el Quick Launch.

Les agradezco la ayuda.

dec 11-01-2008 18:07:57

Hola,

Algo así podría servir, aunque pudiera parecer lo contrario...

Código Delphi [-]
procedure MinimizeAllWindows();
begin
  keybd_event(VK_LWIN,MapvirtualKey( VK_LWIN,0),0,0) ;
  keybd_event(Ord('M'),MapvirtualKey(Ord('M'),0),0,0);
  keybd_event(Ord('M'),MapvirtualKey(Ord('M'),0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_LWIN,MapvirtualKey(VK_LWIN,0),KEYEVENTF_KEYUP,0);
end; 

procedure RestoreAllWindows(); 
begin 
  keybd_event(VK_LWIN, MapvirtualKey( VK_LWIN, 0), 0, 0);
  keybd_event(VK_SHIFT, MapvirtualKey( VK_SHIFT, 0), 0, 0);
  keybd_event(Ord('M'), MapvirtualKey( Ord('M'), 0), 0, 0);
  keybd_event(Ord('M'),MapvirtualKey(Ord('M'),0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_SHIFT,MapvirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_LWIN,MapvirtualKey(VK_LWIN,0),KEYEVENTF_KEYUP,0);
end;

keyboy 12-01-2008 01:03:43

Otra manera:

Código Delphi [-]
// Minimizar ventanas
var
  Shell: OleVariant;

begin
  Shell := ComObj.CreateOleObject('shell.application');
  Shell.MinimizeAll;
end;

Código Delphi [-]
// Restaurar ventanas
var
  Shell: OleVariant;

begin
  Shell := ComObj.CreateOleObject('shell.application');
  Shell.UndoMinimizeAll;
end;

Bye

jachguate 12-01-2008 02:52:31

Hola.

He editado el mensaje de keyboy, para cambiar la etiqueta code, por la etiqueta delphi, que además de mantener la indentación, resalta la sintaxis de este lenguaje.

Mas información, en el anuncio del día que se publicó la etiqueta delphi.

Hasta luego.

;)

movorack 12-01-2008 17:21:48

Gracias
 
muchas gracias por sus respuestas son muy utiles... :D

pero quisiera saber ahora como haria para minimizar todas y evitar que una ventana en especifico no se minimizara.

o que si esta ventana estuviera minimizada se maximizara.

agradezco sus ayudas hasta ahora lo que me han dicho funciona muy bien pero ahora tengo esta pequeña duda.

Gracias.


La franja horaria es GMT +2. Ahora son las 12:00:01.

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