Browse Source

Bugfix: Access violation on log off when EP runs alongside 7+TT (#894)

pull/979/head
Valentin Radu 4 years ago
parent
commit
43adf91203
  1. 8
      ExplorerPatcher/dllmain.c
  2. 26
      ExplorerPatcher/settings.reg
  3. 2
      ExplorerPatcher/settings10.reg

8
ExplorerPatcher/dllmain.c

@ -1526,7 +1526,7 @@ LONG_PTR __stdcall CTaskBtnGroup_GetIdealSpanHook(ITaskBtnGroup* _this, LONG_PTR @@ -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) @@ -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) @@ -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) @@ -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);*/
}
}
}

26
ExplorerPatcher/settings.reg

@ -168,11 +168,16 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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

2
ExplorerPatcher/settings10.reg

@ -457,7 +457,7 @@ @@ -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

Loading…
Cancel
Save