From c96aebee1110f3976bc144e2500ee7c298e530d2 Mon Sep 17 00:00:00 2001 From: Valentin Radu <valentin.radu@valinet.ro> Date: Sun, 7 Aug 2022 00:55:44 +0300 Subject: [PATCH] Explorer: Option to shrink address bar height (thanks @krlvm) --- ExplorerPatcher/dllmain.c | 21 +++++++++++++++++++++ ExplorerPatcher/settings.reg | 3 +++ ExplorerPatcher/settings10.reg | 3 +++ 3 files changed, 27 insertions(+) diff --git a/ExplorerPatcher/dllmain.c b/ExplorerPatcher/dllmain.c index d1c6792..30663dd 100644 --- a/ExplorerPatcher/dllmain.c +++ b/ExplorerPatcher/dllmain.c @@ -70,6 +70,7 @@ DWORD bOldTaskbar = TRUE; DWORD bWasOldTaskbarSet = FALSE; DWORD bAllocConsole = FALSE; DWORD bHideExplorerSearchBar = FALSE; +DWORD bShrinkExplorerAdressBar = FALSE; DWORD bMicaEffectOnTitlebar = FALSE; DWORD bHideIconAndTitleInExplorer = FALSE; DWORD bHideControlCenterButton = FALSE; @@ -6097,6 +6098,15 @@ void WINAPI LoadSettings(LPARAM lParam) &dwSize ); dwSize = sizeof(DWORD); + RegQueryValueExW( + hKey, + TEXT("ShrinkExplorerAddressBar"), + 0, + NULL, + &bShrinkExplorerAdressBar, + &dwSize + ); + dwSize = sizeof(DWORD); RegQueryValueExW( hKey, TEXT("UseClassicDriveGrouping"), @@ -9483,6 +9493,15 @@ HWND Windows11v22H2_explorer_CreateWindowExW(DWORD dwExStyle, LPCWSTR lpClassNam #pragma endregion +#pragma region "Shrink File Explorer address bar height" +int explorerframe_GetSystemMetricsForDpi(int nIndex, UINT dpi) +{ + if (bShrinkExplorerAdressBar && nIndex == SM_CYFIXEDFRAME) return 0; + return GetSystemMetricsForDpi(nIndex, dpi); +} +#pragma endregion + + DWORD InjectBasicFunctions(BOOL bIsExplorer, BOOL bInstall) { //Sleep(150); @@ -9571,6 +9590,7 @@ DWORD InjectBasicFunctions(BOOL bIsExplorer, BOOL bInstall) VnPatchIAT(hExplorerFrame, "user32.dll", "SetWindowLongPtrW", SetWindowLongPtrWHook); } VnPatchIAT(hExplorerFrame, "API-MS-WIN-CORE-STRING-L1-1-0.DLL", "CompareStringOrdinal", ExplorerFrame_CompareStringOrdinal); + VnPatchIAT(hExplorerFrame, "user32.dll", "GetSystemMetricsForDpi", explorerframe_GetSystemMetricsForDpi); } else { @@ -9583,6 +9603,7 @@ DWORD InjectBasicFunctions(BOOL bIsExplorer, BOOL bInstall) VnPatchIAT(hExplorerFrame, "user32.dll", "SetWindowLongPtrW", SetWindowLongPtrW); } VnPatchIAT(hExplorerFrame, "API-MS-WIN-CORE-STRING-L1-1-0.DLL", "CompareStringOrdinal", CompareStringOrdinal); + VnPatchIAT(hExplorerFrame, "user32.dll", "GetSystemMetricsForDpi", GetSystemMetricsForDpi); FreeLibrary(hExplorerFrame); FreeLibrary(hExplorerFrame); } diff --git a/ExplorerPatcher/settings.reg b/ExplorerPatcher/settings.reg index cbe02a1..603c6a8 100644 --- a/ExplorerPatcher/settings.reg +++ b/ExplorerPatcher/settings.reg @@ -225,6 +225,9 @@ ;d Disable modern search bar @="{64bc32b5-4eec-4de7-972d-bd8bd0324537}" [HKEY_CURRENT_USER\Software\ExplorerPatcher] +;b Shrink address bar height ** +"ShrinkExplorerAddressBar"=dword:00000000 +[HKEY_CURRENT_USER\Software\ExplorerPatcher] ;b Hide search bar completely ** "HideExplorerSearchBar"=dword:00000000 ;s Explorer_TitlebarSection !IsWindows11Version22H2OrHigher diff --git a/ExplorerPatcher/settings10.reg b/ExplorerPatcher/settings10.reg index 5f946af..1221439 100644 --- a/ExplorerPatcher/settings10.reg +++ b/ExplorerPatcher/settings10.reg @@ -169,6 +169,9 @@ ;d Disable modern search bar @="{64bc32b5-4eec-4de7-972d-bd8bd0324537}" [HKEY_CURRENT_USER\Software\ExplorerPatcher] +;b Shrink address bar height ** +"ShrinkExplorerAddressBar"=dword:00000000 +[HKEY_CURRENT_USER\Software\ExplorerPatcher] ;b Hide search bar completely ** "HideExplorerSearchBar"=dword:00000000 ;p 2