From 69a667c4c9c178f764a8ab6b7bd25d0748e1c0e6 Mon Sep 17 00:00:00 2001 From: Valentin Radu Date: Thu, 10 Mar 2022 02:18:48 +0200 Subject: [PATCH] Taskabr10: Fixed a bug that prevented the left/top taskbar align option for the weather widget from working correctly (#1041) --- ExplorerPatcher/TaskbarCenter.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ExplorerPatcher/TaskbarCenter.c b/ExplorerPatcher/TaskbarCenter.c index c6dcee2..8069c6c 100644 --- a/ExplorerPatcher/TaskbarCenter.c +++ b/ExplorerPatcher/TaskbarCenter.c @@ -358,6 +358,20 @@ BOOL TaskbarCenter_GetClientRectHook(HWND hWnd, LPRECT lpRect) bWeatherAlignment = FALSE; }*/ REBARBANDINFOW rbi; + int k = SendMessageW(hReBarWindow32, RB_GETBANDCOUNT, 0, 0); + for (int i = 0; i < k; ++i) + { + ZeroMemory(&rbi, sizeof(REBARBANDINFOW)); + rbi.cbSize = sizeof(REBARBANDINFOW); + rbi.fMask = RBBIM_CHILD; + SendMessageW(hReBarWindow32, RB_GETBANDINFOW, i, &rbi); + if (rbi.hwndChild && GetClassWord(rbi.hwndChild, GCW_ATOM) == RegisterWindowMessageW(L"MSTaskSwWClass")) + { + SendMessageW(hReBarWindow32, RB_MAXIMIZEBAND, i, 0); + break; + } + } + ZeroMemory(&rbi, sizeof(REBARBANDINFOW)); rbi.cbSize = sizeof(REBARBANDINFOW); rbi.fMask = RBBIM_CHILD; SendMessageW(hReBarWindow32, RB_GETBANDINFOW, 0, &rbi); @@ -370,10 +384,11 @@ BOOL TaskbarCenter_GetClientRectHook(HWND hWnd, LPRECT lpRect) { for (i = 1; i < k; ++i) { + ZeroMemory(&rbi, sizeof(REBARBANDINFOW)); rbi.cbSize = sizeof(REBARBANDINFOW); rbi.fMask = RBBIM_CHILD; SendMessageW(hReBarWindow32, RB_GETBANDINFOW, i, &rbi); - if (GetClassWord(rbi.hwndChild, GCW_ATOM) == RegisterWindowMessageW(L"PeopleBand")) + if (rbi.hwndChild && GetClassWord(rbi.hwndChild, GCW_ATOM) == RegisterWindowMessageW(L"PeopleBand")) { break; }