diff --git a/reactos/base/shell/explorer/desktop/desktop.cpp b/reactos/base/shell/explorer/desktop/desktop.cpp index bc6ccae3c1f..ed613576fd3 100644 --- a/reactos/base/shell/explorer/desktop/desktop.cpp +++ b/reactos/base/shell/explorer/desktop/desktop.cpp @@ -235,8 +235,11 @@ void Desktops::ToggleMinimize() if (minimized.empty()) { EnumWindows(MinimizeDesktopEnumFct, (LPARAM)&minimized); } else { - for(list::const_iterator it=minimized.begin(); it!=minimized.end(); ++it) + for(list::const_reverse_iterator it=minimized.rbegin(); + it!=minimized.rend(); ++it) { ShowWindowAsync(it->first, it->second&WS_MAXIMIZE? SW_MAXIMIZE: SW_RESTORE); + Sleep(20); + } minimized.clear(); } diff --git a/reactos/base/shell/explorer/taskbar/desktopbar.cpp b/reactos/base/shell/explorer/taskbar/desktopbar.cpp index ed0879f1407..20f58410966 100644 --- a/reactos/base/shell/explorer/taskbar/desktopbar.cpp +++ b/reactos/base/shell/explorer/taskbar/desktopbar.cpp @@ -140,9 +140,6 @@ LRESULT DesktopBar::Init(LPCREATESTRUCT pcs) rbBand.cbSize = sizeof(REBARBANDINFO); rbBand.fMask = RBBIM_TEXT|RBBIM_STYLE|RBBIM_CHILD|RBBIM_CHILDSIZE|RBBIM_SIZE|RBBIM_ID|RBBIM_IDEALSIZE; -#ifndef RBBS_HIDETITLE // missing in MinGW headers as of 25.02.2004 -#define RBBS_HIDETITLE 0x400 -#endif rbBand.cyChild = REBARBAND_HEIGHT; rbBand.cyMaxChild = (ULONG)-1; rbBand.cyMinChild = REBARBAND_HEIGHT; @@ -249,6 +246,7 @@ void DesktopBar::RegisterHotkeys() RegisterHotKey(_hwnd, IDHK_RUN, MOD_WIN, 'R'); RegisterHotKey(_hwnd, IDHK_DESKTOP, MOD_WIN, 'D'); RegisterHotKey(_hwnd, IDHK_LOGOFF, MOD_WIN, 'L'); + RegisterHotKey(_hwnd, IDHK_STARTMENU, MOD_CONTROL, VK_ESCAPE); ///@todo register all common hotkeys } @@ -272,6 +270,9 @@ void DesktopBar::ProcessHotKey(int id_hotkey) g_Globals._desktops.ToggleMinimize(); break; + case IDHK_STARTMENU: + ShowOrHideStartMenu(); + break; ///@todo implement all common hotkeys } } diff --git a/reactos/base/shell/explorer/taskbar/desktopbar.h b/reactos/base/shell/explorer/taskbar/desktopbar.h index 8fe52c7f14d..4985fa6b405 100644 --- a/reactos/base/shell/explorer/taskbar/desktopbar.h +++ b/reactos/base/shell/explorer/taskbar/desktopbar.h @@ -68,6 +68,7 @@ #define IDHK_RUN 1 #define IDHK_DESKTOP 2 #define IDHK_LOGOFF 3 +#define IDHK_STARTMENU 4 /// desktop bar window, also known as "system tray" struct DesktopBar : public