Browse Source

Taskbar11: Fixed a bug that reset the "never combine" setting on OS builds 22621.2361+

pull/2331/head
Valentin Radu 2 years ago
parent
commit
085b3dd9f7
  1. 49
      ExplorerPatcher/dllmain.c
  2. 1
      ExplorerPatcher/lvt.h
  3. 7
      ExplorerPatcher/osutility.h

49
ExplorerPatcher/dllmain.c

@ -11506,51 +11506,20 @@ DWORD Inject(BOOL bIsExplorer) @@ -11506,51 +11506,20 @@ DWORD Inject(BOOL bIsExplorer)
ResetEvent(hEvent);
}*/
if (bOldTaskbar)
{
if (IsWindows11())
{
CreateThread(
0,
0,
PlayStartupSound,
0,
0,
0
);
if (IsWindows11()) {
if (bOldTaskbar) {
CreateThread(0, 0, PlayStartupSound, 0, 0, 0);
printf("Play startup sound thread...\n");
}
}
if (bOldTaskbar)
{
if (IsWindows11())
{
CreateThread(
0,
0,
SignalShellReady,
dwExplorerReadyDelay,
0,
0
);
CreateThread(0, 0, SignalShellReady, dwExplorerReadyDelay, 0, 0);
printf("Signal shell ready...\n");
}
}
else
{
CreateThread(
0,
0,
FixTaskbarAutohide,
0,
0,
0
);
} else {
CreateThread(0, 0, FixTaskbarAutohide, 0, 0, 0);
if (!IsWindows11Version22H2Build2361OrHigher()) {
RegDeleteKeyValueW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", L"TaskbarGlomLevel");
RegDeleteKeyValueW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", L"MMTaskbarGlomLevel");
}
}
}
if (IsWindows11Version22H2OrHigher() && bOldTaskbar)
{

1
ExplorerPatcher/lvt.h

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include <winstring.h>
#include <stdio.h>
#include <Shlwapi.h>
#include "osutility.h"
#define LVT_LOC_NONE 0
#define LVT_LOC_BOTTOMLEFT 1

7
ExplorerPatcher/osutility.h

@ -87,4 +87,11 @@ inline BOOL IsWindows11Version22H2Build2134OrHigher() @@ -87,4 +87,11 @@ inline BOOL IsWindows11Version22H2Build2134OrHigher()
if (global_rovi.dwBuildNumber > 22621) return TRUE;
return global_rovi.dwBuildNumber == 22621 && global_ubr >= 2134;
}
inline BOOL IsWindows11Version22H2Build2361OrHigher()
{
if (!global_rovi.dwMajorVersion) global_ubr = VnGetOSVersionAndUBR(&global_rovi);
if (global_rovi.dwBuildNumber > 22621) return TRUE;
return global_rovi.dwBuildNumber == 22621 && global_ubr >= 2361;
}
#endif

Loading…
Cancel
Save