You can minimize all windows with this code snippets.

procedure MinimizeAll;
var
h:HWnd;
begin
h:=handle;
while h > 0 do
begin
if IsWindowVisible(h) then
Postmessage(h,WM_SYSCOMMAND,SC_MINIMIZE,0);
h:=GetnextWindow(h,GW_HWNDNEXT);
end;
end;