Éste sí me gusta más...
(1) Coloca en tu form un botón
(2) Añade la unit ComObj al uses
(3) Añade las dos definiciones siguientes al private.
Código Delphi
[-]
procedure Minimize;
procedure Restore;
(4) La implementación de los dos procedimientos es la siguiente:
Código Delphi
[-]
procedure TForm1.Minimize;
var
Shell : OleVariant;
begin
Shell := CreateOleObject('Shell.Application') ;
Shell.MinimizeAll;
Shell := VarNull;
end;
procedure TForm1.Restore;
var
Shell : OleVariant;
begin
Shell := CreateOleObject('Shell.Application') ;
Shell.UndoMinimizeAll;
Shell := VarNull;
Sleep(100);
SetForegroundWIndow(Self.Handle);
end;
(5) Y por último en el evento del botón coloca lo siguiente:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
case Button1.Tag of
0:
begin
Minimize;
Button1.Tag := 1;
end;
1:
begin
Restore;
Button1.Tag := 0;
end;
end;
end;