diff --git a/reactos/subsys/system/explorer/desktop/desktop.cpp b/reactos/subsys/system/explorer/desktop/desktop.cpp index 5c076101b85..e836331a63d 100644 --- a/reactos/subsys/system/explorer/desktop/desktop.cpp +++ b/reactos/subsys/system/explorer/desktop/desktop.cpp @@ -38,6 +38,7 @@ #include "desktop.h" #include "../taskbar/desktopbar.h" +#include "../taskbar/taskbar.h" // for PM_GET_LAST_ACTIVE #include "../shell/mainframe.h" // for MainFrame::OpenShellFolders() diff --git a/reactos/subsys/system/explorer/taskbar/desktopbar.cpp b/reactos/subsys/system/explorer/taskbar/desktopbar.cpp index 0b041e30834..7eb1c1792d5 100644 --- a/reactos/subsys/system/explorer/taskbar/desktopbar.cpp +++ b/reactos/subsys/system/explorer/taskbar/desktopbar.cpp @@ -228,6 +228,11 @@ LRESULT DesktopBar::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) PopupMenu(IDM_DESKTOPBAR).TrackPopupMenu(_hwnd, MAKEPOINTS(lparam)); break; + case PM_GET_LAST_ACTIVE: + if (_hwndTaskBar) + return SendMessage(_hwndTaskBar, nmsg, wparam, lparam); + break; + default: def: return super::WndProc(nmsg, wparam, lparam); } diff --git a/reactos/subsys/system/explorer/taskbar/taskbar.cpp b/reactos/subsys/system/explorer/taskbar/taskbar.cpp index fedca72d766..7bdbacd741e 100644 --- a/reactos/subsys/system/explorer/taskbar/taskbar.cpp +++ b/reactos/subsys/system/explorer/taskbar/taskbar.cpp @@ -137,6 +137,9 @@ LRESULT TaskBar::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) Refresh(); break;} */ + case PM_GET_LAST_ACTIVE: + return (LRESULT)(HWND)_last_foreground_wnd; + default: def: return super::WndProc(nmsg, wparam, lparam); }