Browse Source

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

pull/886/head
Valentin Radu 4 years ago
parent
commit
4b0bae46c5
  1. 6
      ExplorerPatcher/GUI.c

6
ExplorerPatcher/GUI.c

@ -7,6 +7,8 @@ BOOL g_darkModeEnabled = FALSE; @@ -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) @@ -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);
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 @@ -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),

Loading…
Cancel
Save