Fixed #589 (Windows 11 secondary taskbar is not shown when mouse overed and auto hide is on)

This commit is contained in:
Valentin Radu
2021-12-23 19:47:32 +02:00
parent 277f235810
commit 5a1b2dd389
+11 -2
View File
@@ -1425,13 +1425,18 @@ INT64 Shell_TrayWndSubclassProc(
_In_ WPARAM wParam,
_In_ LPARAM lParam,
UINT_PTR uIdSubclass,
DWORD_PTR dwRefData
DWORD_PTR bIsPrimaryTaskbar
)
{
if (uMsg == WM_NCDESTROY)
{
RemoveWindowSubclass(hWnd, Shell_TrayWndSubclassProc, Shell_TrayWndSubclassProc);
}
else if (!bIsPrimaryTaskbar && uMsg == WM_SETCURSOR)
{
// Received when mouse is over taskbar edge and autohide is on
PostMessageW(hWnd, WM_ACTIVATE, WA_ACTIVE, NULL);
}
else if (uMsg == WM_LBUTTONDBLCLK && bTaskbarAutohideOnDoubleClick)
{
APPBARDATA abd;
@@ -4423,7 +4428,11 @@ HWND CreateWindowExWHook(
}
else if (bIsExplorerProcess && (*((WORD*)&(lpClassName)+1)) && !wcscmp(lpClassName, L"Shell_TrayWnd"))
{
SetWindowSubclass(hWnd, Shell_TrayWndSubclassProc, Shell_TrayWndSubclassProc, 0);
SetWindowSubclass(hWnd, Shell_TrayWndSubclassProc, Shell_TrayWndSubclassProc, TRUE);
}
else if (bIsExplorerProcess && (*((WORD*)&(lpClassName)+1)) && !wcscmp(lpClassName, L"Shell_SecondaryTrayWnd"))
{
SetWindowSubclass(hWnd, Shell_TrayWndSubclassProc, Shell_TrayWndSubclassProc, FALSE);
}
#endif
/*