From 43adf9120318b689a3760a0f0e3d877ab5f95712 Mon Sep 17 00:00:00 2001 From: Valentin Radu Date: Fri, 25 Feb 2022 00:18:55 +0200 Subject: [PATCH] Bugfix: Access violation on log off when EP runs alongside 7+TT (#894) --- ExplorerPatcher/dllmain.c | 8 ++++---- ExplorerPatcher/settings.reg | 26 +++++++++++++++++--------- ExplorerPatcher/settings10.reg | 2 +- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/ExplorerPatcher/dllmain.c b/ExplorerPatcher/dllmain.c index e07ead5..7ede877 100644 --- a/ExplorerPatcher/dllmain.c +++ b/ExplorerPatcher/dllmain.c @@ -1526,7 +1526,7 @@ LONG_PTR __stdcall CTaskBtnGroup_GetIdealSpanHook(ITaskBtnGroup* _this, LONG_PTR void explorer_QISearch(void* that, LPCQITAB pqit, REFIID riid, void** ppv) { HRESULT hr = QISearch(that, pqit, riid, ppv); - if (SUCCEEDED(hr) && IsEqualGUID(pqit[0].piid, &IID_ITaskGroup)) + if (SUCCEEDED(hr) && IsEqualGUID(pqit[0].piid, &IID_ITaskGroup) && bPinnedItemsActAsQuickLaunch) { ITaskGroup* pTaskGroup = (char*)that + pqit[0].dwOffset; DWORD flOldProtect = 0; @@ -1540,7 +1540,7 @@ void explorer_QISearch(void* that, LPCQITAB pqit, REFIID riid, void** ppv) VirtualProtect(pTaskGroup->lpVtbl, sizeof(ITaskGroupVtbl), flOldProtect, &flOldProtect); } } - else if (SUCCEEDED(hr) && IsEqualGUID(pqit[0].piid, &IID_ITaskBtnGroup)) + else if (SUCCEEDED(hr) && IsEqualGUID(pqit[0].piid, &IID_ITaskBtnGroup) && bRemoveExtraGapAroundPinnedItems) { ITaskBtnGroup* pTaskBtnGroup = (char*)that + pqit[0].dwOffset; DWORD flOldProtect = 0; @@ -6245,7 +6245,7 @@ void WINAPI LoadSettings(LPARAM lParam) if (dwRefreshUIMask & REFRESHUI_TASKBAR) { // this is mostly a hack... - DWORD dwGlomLevel = 2, dwSize = sizeof(DWORD), dwNewGlomLevel; + /*DWORD dwGlomLevel = 2, dwSize = sizeof(DWORD), dwNewGlomLevel; RegGetValueW(HKEY_CURRENT_USER, IsWindows11() ? TEXT(REGPATH) : L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", L"TaskbarGlomLevel", RRF_RT_DWORD, NULL, &dwGlomLevel, &dwSize); Sleep(100); dwNewGlomLevel = 0; @@ -6257,7 +6257,7 @@ void WINAPI LoadSettings(LPARAM lParam) Explorer_RefreshUI(0); Sleep(100); RegSetKeyValueW(HKEY_CURRENT_USER, IsWindows11() ? TEXT(REGPATH) : L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", L"TaskbarGlomLevel", REG_DWORD, &dwGlomLevel, sizeof(DWORD)); - Explorer_RefreshUI(0); + Explorer_RefreshUI(0);*/ } } } diff --git a/ExplorerPatcher/settings.reg b/ExplorerPatcher/settings.reg index 5fad909..eca610e 100644 --- a/ExplorerPatcher/settings.reg +++ b/ExplorerPatcher/settings.reg @@ -168,11 +168,16 @@ ;T Start menu +[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] +;z 2 Start menu style +;x 0 Windows 11 (default) +;x 1 Windows 10 +"Start_ShowClassicMode"=dword:00000000 +;y More Start menu options in the Settings app 🡕 +;ms-settings:personalization-start [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage] ;b Open Start at logon "OpenAtLogon"=dword:00000000 -;b Open Start in All apps by default -"MakeAllAppsDefault"=dword:00000000 [HKEY_CURRENT_USER\Software\ExplorerPatcher] ;c 22 Maximum number of frequent apps to show ;x 0 None @@ -198,11 +203,6 @@ ;x 20 20 ;x 99999 Unlimited ;"Virtualized_{D17F1E1A-5919-4427-8F89-A1A8503CA3EB}_Start_MaximumFrequentApps"=dword:00000006 -[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] -;c 2 Position on screen -;x 0 Left -;x 1 Center (default) -"TaskbarAl"=dword:00000001 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage] ;a When using multiple displays, open Start on this monitor when invoked using ;c 10 the keyboard: @@ -217,7 +217,15 @@ ;x 8 Monitor #8 ;x 9 Monitor #9 "MonitorOverride"=dword:00000001 -;a If the selected monitor is not available, Start will open on the primary display. +;t The following settings only apply to the Windows 11 Start menu: +[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage] +;b Open Start in All apps by default +"MakeAllAppsDefault"=dword:00000000 +[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] +;c 2 Position on screen +;x 0 Left +;x 1 Center (default) +"TaskbarAl"=dword:00000001 ;T Window switcher @@ -538,7 +546,7 @@ ;t The following settings only apply to the Windows 10 taskbar: ;b Pinned items act as quick launch (don't group pinned items with active apps) * "PinnedItemsActAsQuickLaunch"=dword:00000000 -;b When the taskbar shows button labels, remove the extra gap around pinned items +;b When the taskbar shows button labels, remove the extra gap around pinned items * "RemoveExtraGapAroundPinnedItems"=dword:00000000 diff --git a/ExplorerPatcher/settings10.reg b/ExplorerPatcher/settings10.reg index d99479d..fa8845a 100644 --- a/ExplorerPatcher/settings10.reg +++ b/ExplorerPatcher/settings10.reg @@ -457,7 +457,7 @@ "EnableSymbolDownload"=dword:00000001 ;b Pinned items act as quick launch (don't group pinned items with active apps) * "PinnedItemsActAsQuickLaunch"=dword:00000000 -;b When the taskbar shows button labels, remove the extra gap around pinned items +;b When the taskbar shows button labels, remove the extra gap around pinned items * "RemoveExtraGapAroundPinnedItems"=dword:00000000