From 9f9acfc74e9c696f4a2d5d137b6f4dcfc0f5d4ce Mon Sep 17 00:00:00 2001 From: Amrsatrio Date: Wed, 21 Feb 2024 09:40:06 +0700 Subject: [PATCH] Taskbar10: Turn off the code for loading the reimplemented taskbar on public builds for now --- ExplorerPatcher/dllmain.c | 8 ++++++++ ExplorerPatcher/utility.h | 11 +++++++++++ ep_setup/ep_setup.c | 2 ++ ep_setup/resources/ep_setup.rc | 6 ++++++ 4 files changed, 27 insertions(+) diff --git a/ExplorerPatcher/dllmain.c b/ExplorerPatcher/dllmain.c index 4f791d3f9..ca3f1f7d1 100644 --- a/ExplorerPatcher/dllmain.c +++ b/ExplorerPatcher/dllmain.c @@ -11895,6 +11895,7 @@ BOOL CrashCounterHandleEntryPoint() #pragma region "Loader for alternate taskbar implementation" #ifdef _WIN64 +#if WITH_ALT_TASKBAR_IMPL BOOL CheckExplorerSymbols(symbols_addr* symbols_PTRS) { BOOL bAllValid = TRUE; @@ -11979,6 +11980,7 @@ void PrepareAlternateTaskbarImplementation(symbols_addr* symbols_PTRS, const WCH wprintf(L"[TB] Using '%s'\n", pszTaskbarDll); } #endif +#endif #pragma endregion @@ -12385,7 +12387,11 @@ DWORD Inject(BOOL bIsExplorer) } } +#if WITH_ALT_TASKBAR_IMPL const WCHAR* pszTaskbarDll = GetTaskbarDllChecked(&symbols_PTRS); +#else + const WCHAR* pszTaskbarDll = NULL; +#endif if (bOldTaskbar >= 2 && !pszTaskbarDll) { bOldTaskbar = 1; @@ -12731,7 +12737,9 @@ DWORD Inject(BOOL bIsExplorer) #endif VnPatchIAT(hTwinuiPcshell, "API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL", "RegGetValueW", twinuipcshell_RegGetValueW); +#if WITH_ALT_TASKBAR_IMPL PrepareAlternateTaskbarImplementation(&symbols_PTRS, pszTaskbarDll); +#endif printf("Setup twinui.pcshell functions done\n"); diff --git a/ExplorerPatcher/utility.h b/ExplorerPatcher/utility.h index de7843e40..a7e275dee 100644 --- a/ExplorerPatcher/utility.h +++ b/ExplorerPatcher/utility.h @@ -32,6 +32,10 @@ #define WM_MSG_GUI_SECTION WM_USER + 1 #define WM_MSG_GUI_SECTION_GET 1 +#ifndef WITH_ALT_TASKBAR_IMPL +#define WITH_ALT_TASKBAR_IMPL 0 +#endif + #ifdef __cplusplus extern "C" { #endif @@ -693,6 +697,7 @@ inline BOOL DoesWindows10StartMenuExist() return FileExistsW(szPath); } +#if WITH_ALT_TASKBAR_IMPL inline const WCHAR* PickTaskbarDll() { DWORD b = global_rovi.dwBuildNumber; @@ -734,6 +739,12 @@ inline BOOL DoesTaskbarDllExist() wcscat_s(szPath, MAX_PATH, pszTaskbarDll); return FileExistsW(szPath); } +#else +inline BOOL DoesTaskbarDllExist() +{ + return FALSE; +} +#endif #ifdef __cplusplus } diff --git a/ep_setup/ep_setup.c b/ep_setup/ep_setup.c index a9fadd1df..21c6b66c8 100644 --- a/ep_setup/ep_setup.c +++ b/ep_setup/ep_setup.c @@ -442,11 +442,13 @@ BOOL DownloadResource(BOOL bInstall, LPCWSTR pwszURL, DWORD dwSize, LPCSTR chash void ProcessTaskbarDlls(BOOL* bInOutOk, BOOL bInstall, BOOL bExtractMode, HINSTANCE hInstance, WCHAR wszPath[260]) { +#if WITH_ALT_TASKBAR_IMPL LPCWSTR pwszTaskbarDllName = bExtractMode ? NULL : PickTaskbarDll(); if (*bInOutOk) *bInOutOk = InstallResource(bInstall && (bExtractMode || pwszTaskbarDllName && !wcscmp(pwszTaskbarDllName, L"ep_taskbar.2.dll")), hInstance, IDR_EP_TASKBAR_2, wszPath, L"ep_taskbar.2.dll"); if (*bInOutOk) *bInOutOk = InstallResource(bInstall && (bExtractMode || pwszTaskbarDllName && !wcscmp(pwszTaskbarDllName, L"ep_taskbar.3.dll")), hInstance, IDR_EP_TASKBAR_3, wszPath, L"ep_taskbar.3.dll"); if (*bInOutOk) *bInOutOk = InstallResource(bInstall && (bExtractMode || pwszTaskbarDllName && !wcscmp(pwszTaskbarDllName, L"ep_taskbar.4.dll")), hInstance, IDR_EP_TASKBAR_4, wszPath, L"ep_taskbar.4.dll"); if (*bInOutOk) *bInOutOk = InstallResource(bInstall && (bExtractMode || pwszTaskbarDllName && !wcscmp(pwszTaskbarDllName, L"ep_taskbar.5.dll")), hInstance, IDR_EP_TASKBAR_5, wszPath, L"ep_taskbar.5.dll"); +#endif } int WINAPI wWinMain( diff --git a/ep_setup/resources/ep_setup.rc b/ep_setup/resources/ep_setup.rc index c8261ed2d..abb201517 100644 --- a/ep_setup/resources/ep_setup.rc +++ b/ep_setup/resources/ep_setup.rc @@ -106,6 +106,9 @@ IDR_EP_STARTMENU RCDATA "..\\build\\Release\\ep_startmenu.dll IDR_EP_GUI RCDATA "..\\build\\Release\\ep_gui.dll" +#ifdef WITH_ALT_TASKBAR_IMPL +#if WITH_ALT_TASKBAR_IMPL + #if EP_TASKBAR_2_EXISTS IDR_EP_TASKBAR_2 RCDATA "..\\build\\Release\\ep_taskbar.2.dll" #endif @@ -122,6 +125,9 @@ IDR_EP_TASKBAR_4 RCDATA "..\\build\\Release\\ep_taskbar.4.dll IDR_EP_TASKBAR_5 RCDATA "..\\build\\Release\\ep_taskbar.5.dll" #endif +#endif +#endif + #endif // English (United States) resources /////////////////////////////////////////////////////////////////////////////