Index: base/shell/explorer-new/explorer.c =================================================================== --- base/shell/explorer-new/explorer.c (revision 58178) +++ base/shell/explorer-new/explorer.c (working copy) @@ -348,6 +348,24 @@ return bRet; } +/* + * HideMinimizedWindows function allows hiding minimized windows + * instead of showing their buttons in left bottom corner. + * We must call this function before we register ourselwes as default shell + * handlers, othwerise we will not be able to process shell messages. + */ +static void HideMinimizedWindows(BOOL hide) +{ + MINIMIZEDMETRICS mm; + mm.cbSize = sizeof(MINIMIZEDMETRICS); + SystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), &mm, FALSE); + if(hide) + mm.iArrange |= ARW_HIDE; + else + mm.iArrange &= ~ARW_HIDE; + SystemParametersInfo(SPI_SETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), &mm, FALSE); +} + INT WINAPI _tWinMain(IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, @@ -392,6 +410,7 @@ if (RegisterTrayWindowClass() && RegisterTaskSwitchWndClass()) { Tray = CreateTrayWindow(); + HideMinimizedWindows(TRUE); if (Tray != NULL) hShellDesktop = DesktopCreateWindow(Tray);