1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2025-02-23 21:53:41 +01:00

When restarting Explorer from Properties, taskbar position is reapplied only when it differes from the previous value

This commit is contained in:
Valentin Radu 2021-12-10 00:12:12 +02:00
parent 19834620e6
commit 4b0bae46c5

View File

@ -7,6 +7,8 @@ BOOL g_darkModeEnabled = FALSE;
static void(*RefreshImmersiveColorPolicyState)() = NULL;
static BOOL(*ShouldAppsUseDarkMode)() = NULL;
DWORD dwTaskbarPosition = 3;
DWORD dwInitialTaskbarPosition = 3;
BOOL IsHighContrast()
{
HIGHCONTRASTW highContrast;
@ -799,7 +801,10 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
GetWindowsDirectoryW(wszPath, MAX_PATH);
wcscat_s(wszPath, MAX_PATH, L"\\explorer.exe");
Sleep(1000);
GUI_RegSetValueExW(NULL, L"Virtualized_" _T(EP_CLSID) L"_TaskbarPosition", NULL, NULL, &dwTaskbarPosition, NULL);
if (dwTaskbarPosition != dwInitialTaskbarPosition)
{
GUI_RegSetValueExW(NULL, L"Virtualized_" _T(EP_CLSID) L"_TaskbarPosition", NULL, NULL, &dwTaskbarPosition, NULL);
}
ShellExecuteW(
NULL,
L"open",
@ -2083,6 +2088,7 @@ __declspec(dllexport) int ZZGUI(HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLin
}
}
GUI_RegQueryValueExW(NULL, L"Virtualized_" _T(EP_CLSID) L"_TaskbarPosition", NULL, NULL, &dwTaskbarPosition, NULL);
dwInitialTaskbarPosition = dwTaskbarPosition;
HWND hwnd = CreateWindowEx(
NULL,
L"ExplorerPatcher_GUI_" _T(EP_CLSID),