mirror of
https://github.com/valinet/ExplorerPatcher.git
synced 2024-11-27 17:00:59 +01:00
Improvements in configuration GUI
This commit is contained in:
parent
78cf89d15e
commit
05efe53f83
@ -335,7 +335,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
topAdj = dwMaxHeight + GUI_CAPTION_LINE_HEIGHT * dy;
|
||||
hOldFont = SelectObject(hdcPaint, hFontCaption);
|
||||
}
|
||||
else if (!strncmp(line, ";u ", 3))
|
||||
else if (!strncmp(line, ";u ", 3) || (!strncmp(line, ";y ", 3) && !strstr(line, "\xF0\x9F")))
|
||||
{
|
||||
hOldFont = SelectObject(hdcPaint, hFontUnderline);
|
||||
}
|
||||
@ -513,7 +513,30 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
{
|
||||
if (FindWindowW(L"Shell_TrayWnd", NULL))
|
||||
{
|
||||
ZZRestartExplorer();
|
||||
//ZZRestartExplorer(0, 0, 0, 0);
|
||||
WCHAR wszPath[MAX_PATH];
|
||||
ZeroMemory(wszPath, MAX_PATH * sizeof(WCHAR));
|
||||
GetSystemDirectoryW(wszPath, MAX_PATH);
|
||||
wcscat_s(wszPath, MAX_PATH, L"\\taskkill.exe");
|
||||
ShellExecuteW(
|
||||
NULL,
|
||||
L"open",
|
||||
wszPath,
|
||||
L"/f /im explorer.exe",
|
||||
NULL,
|
||||
SW_SHOWMINIMIZED
|
||||
);
|
||||
GetWindowsDirectoryW(wszPath, MAX_PATH);
|
||||
wcscat_s(wszPath, MAX_PATH, L"\\explorer.exe");
|
||||
Sleep(1000);
|
||||
ShellExecuteW(
|
||||
NULL,
|
||||
L"open",
|
||||
wszPath,
|
||||
NULL,
|
||||
NULL,
|
||||
SW_SHOWNORMAL
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -669,7 +692,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
tabOrder++;
|
||||
}
|
||||
}
|
||||
else if (!strncmp(line, ";l ", 3) || !strncmp(line, ";c ", 3) || !strncmp(line, ";b ", 3) || !strncmp(line, ";i ", 3) || !strncmp(line, ";d ", 3) || !strncmp(line, ";v ", 3))
|
||||
else if (!strncmp(line, ";l ", 3) || !strncmp(line, ";y ", 3) || !strncmp(line, ";c ", 3) || !strncmp(line, ";z ", 3) || !strncmp(line, ";b ", 3) || !strncmp(line, ";i ", 3) || !strncmp(line, ";d ", 3) || !strncmp(line, ";v ", 3))
|
||||
{
|
||||
ZeroMemory(text, (MAX_LINE_LENGTH + 3) * sizeof(wchar_t));
|
||||
text[0] = L'\u2795';
|
||||
@ -678,7 +701,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
MultiByteToWideChar(
|
||||
CP_UTF8,
|
||||
MB_PRECOMPOSED,
|
||||
!strncmp(line, ";c ", 3) ? strchr(line + 3, ' ') + 1 : line + 3,
|
||||
!strncmp(line, ";c ", 3) || !strncmp(line, ";z ", 3) ? strchr(line + 3, ' ') + 1 : line + 3,
|
||||
numChRd - 3,
|
||||
text + 3,
|
||||
MAX_LINE_LENGTH
|
||||
@ -688,16 +711,17 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
if (x) *x = 0;
|
||||
x = wcschr(text, L'\r');
|
||||
if (x) *x = 0;
|
||||
if (!strncmp(line, ";c ", 3) || !strncmp(line, ";b ", 3) || !strncmp(line, ";i ", 3) || !strncmp(line, ";d ", 3) || !strncmp(line, ";v ", 3))
|
||||
if (!strncmp(line, ";c ", 3) || !strncmp(line, ";z ", 3) || !strncmp(line, ";b ", 3) || !strncmp(line, ";i ", 3) || !strncmp(line, ";d ", 3) || !strncmp(line, ";v ", 3))
|
||||
{
|
||||
HMENU hMenu = NULL;
|
||||
BOOL bChoice = !strncmp(line, ";c ", 3);
|
||||
BOOL bChoiceLefted = !strncmp(line, ";z ", 3);
|
||||
BOOL bInvert = !strncmp(line, ";i ", 3);
|
||||
BOOL bJustCheck = !strncmp(line, ";d ", 3);
|
||||
BOOL bBool = !strncmp(line, ";b ", 3);
|
||||
BOOL bValue = !strncmp(line, ";v ", 3);
|
||||
DWORD numChoices = 0;
|
||||
if (bChoice)
|
||||
if (bChoice || bChoiceLefted)
|
||||
{
|
||||
char* p = strchr(line + 3, ' ');
|
||||
if (p) *p = 0;
|
||||
@ -764,6 +788,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
wchar_t* p = wcschr(name, L'"');
|
||||
if (p) *p = 0;
|
||||
HKEY hKey = NULL;
|
||||
BOOL bIsHKLM = wcsstr(section, L"HKEY_LOCAL_MACHINE");
|
||||
DWORD dwDisposition;
|
||||
DWORD dwSize = sizeof(DWORD);
|
||||
DWORD value = FALSE;
|
||||
@ -779,12 +804,12 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
if (!bJustCheck)
|
||||
{
|
||||
RegCreateKeyExW(
|
||||
HKEY_CURRENT_USER,
|
||||
bIsHKLM ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER,
|
||||
wcschr(section, L'\\') + 1,
|
||||
0,
|
||||
NULL,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
KEY_READ | (hDC ? 0 : KEY_WRITE),
|
||||
KEY_READ | (hDC ? 0 : (!bIsHKLM ? KEY_WRITE : 0)),
|
||||
NULL,
|
||||
&hKey,
|
||||
&dwDisposition
|
||||
@ -809,10 +834,10 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
else
|
||||
{
|
||||
RegOpenKeyExW(
|
||||
HKEY_CURRENT_USER,
|
||||
bIsHKLM ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER,
|
||||
wcschr(section, L'\\') + 1,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
KEY_READ | (hDC ? 0 : KEY_WRITE),
|
||||
KEY_READ | (hDC ? 0 : (!bIsHKLM ? KEY_WRITE : 0)),
|
||||
&hKey
|
||||
);
|
||||
if (hKey == NULL || hKey == INVALID_HANDLE_VALUE)
|
||||
@ -849,7 +874,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
buf
|
||||
);
|
||||
}
|
||||
else if (bChoice)
|
||||
else if (bChoice || bChoiceLefted)
|
||||
{
|
||||
wcscat_s(
|
||||
text,
|
||||
@ -881,7 +906,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
&rcTemp,
|
||||
DT_CALCRECT
|
||||
);
|
||||
rcText.left += rcTemp.right - rcTemp.left;
|
||||
rcText.left += (!bChoiceLefted ? (rcTemp.right - rcTemp.left) : 0);
|
||||
for (unsigned int i = 0; i < wcslen(text); ++i)
|
||||
{
|
||||
text[i] = text[i + 3];
|
||||
@ -901,52 +926,110 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
{
|
||||
if (bJustCheck)
|
||||
{
|
||||
if (hKey)
|
||||
if (bIsHKLM && wcsstr(section, L"Software\\Classes\\CLSID\\" _T(EP_CLSID) L"\\InprocServer32"))
|
||||
{
|
||||
RegCloseKey(hKey);
|
||||
hKey = NULL;
|
||||
RegDeleteKeyExW(
|
||||
HKEY_CURRENT_USER,
|
||||
wcschr(section, L'\\') + 1,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
0
|
||||
);
|
||||
WCHAR wszArgs[MAX_PATH];
|
||||
if (!hKey)
|
||||
{
|
||||
wszArgs[0] = L'\"';
|
||||
SHGetFolderPathW(NULL, SPECIAL_FOLDER, NULL, SHGFP_TYPE_CURRENT, wszArgs + 1);
|
||||
wcscat_s(wszArgs, MAX_PATH, _T(APP_RELATIVE_PATH) L"\\" _T(PRODUCT_NAME) L".amd64.dll\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
wszArgs[0] = L'/';
|
||||
wszArgs[1] = L'u';
|
||||
wszArgs[2] = L' ';
|
||||
wszArgs[3] = L'"';
|
||||
SHGetFolderPathW(NULL, SPECIAL_FOLDER, NULL, SHGFP_TYPE_CURRENT, wszArgs + 4);
|
||||
wcscat_s(wszArgs, MAX_PATH, _T(APP_RELATIVE_PATH) L"\\" _T(PRODUCT_NAME) L".amd64.dll\"");
|
||||
}
|
||||
wprintf(L"%s\n", wszArgs);
|
||||
WCHAR wszApp[MAX_PATH * 2];
|
||||
GetSystemDirectoryW(wszApp, MAX_PATH * 2);
|
||||
wcscat_s(wszApp, MAX_PATH * 2, L"\\regsvr32.exe");
|
||||
wprintf(L"%s\n", wszApp);
|
||||
SHELLEXECUTEINFOW sei;
|
||||
ZeroMemory(&sei, sizeof(SHELLEXECUTEINFOW));
|
||||
sei.cbSize = sizeof(sei);
|
||||
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
|
||||
sei.hwnd = NULL;
|
||||
sei.hInstApp = NULL;
|
||||
sei.lpVerb = L"runas";
|
||||
sei.lpFile = wszApp;
|
||||
sei.lpParameters = wszArgs;
|
||||
sei.hwnd = NULL;
|
||||
sei.nShow = SW_NORMAL;
|
||||
if (ShellExecuteExW(&sei) && sei.hProcess)
|
||||
{
|
||||
WaitForSingleObject(sei.hProcess, INFINITE);
|
||||
DWORD dwExitCode = 0;
|
||||
if (GetExitCodeProcess(sei.hProcess, &dwExitCode) && !dwExitCode)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DWORD dwError = GetLastError();
|
||||
if (dwError == ERROR_CANCELLED)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
RegCreateKeyExW(
|
||||
HKEY_CURRENT_USER,
|
||||
wcschr(section, L'\\') + 1,
|
||||
0,
|
||||
NULL,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
KEY_WRITE,
|
||||
NULL,
|
||||
&hKey,
|
||||
&dwDisposition
|
||||
);
|
||||
if (hKey == NULL || hKey == INVALID_HANDLE_VALUE)
|
||||
if (hKey)
|
||||
{
|
||||
RegCloseKey(hKey);
|
||||
hKey = NULL;
|
||||
}
|
||||
if (d[1] == '"')
|
||||
{
|
||||
wchar_t* p = wcschr(d + 2, L'"');
|
||||
if (p) *p = 0;
|
||||
RegSetValueExW(
|
||||
hKey,
|
||||
!wcsncmp(name, L"@", 1) ? NULL : name,
|
||||
0,
|
||||
REG_SZ,
|
||||
d + 2,
|
||||
wcslen(d + 2) * sizeof(wchar_t)
|
||||
RegDeleteKeyExW(
|
||||
bIsHKLM ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER,
|
||||
wcschr(section, L'\\') + 1,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
0
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
RegCreateKeyExW(
|
||||
bIsHKLM ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER,
|
||||
wcschr(section, L'\\') + 1,
|
||||
0,
|
||||
NULL,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
KEY_WRITE,
|
||||
NULL,
|
||||
&hKey,
|
||||
&dwDisposition
|
||||
);
|
||||
if (hKey == NULL || hKey == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
hKey = NULL;
|
||||
}
|
||||
if (d[1] == '"')
|
||||
{
|
||||
wchar_t* p = wcschr(d + 2, L'"');
|
||||
if (p) *p = 0;
|
||||
RegSetValueExW(
|
||||
hKey,
|
||||
!wcsncmp(name, L"@", 1) ? NULL : name,
|
||||
0,
|
||||
REG_SZ,
|
||||
d + 2,
|
||||
wcslen(d + 2) * sizeof(wchar_t)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bChoice)
|
||||
if (bChoice || bChoiceLefted)
|
||||
{
|
||||
RECT rcTemp;
|
||||
rcTemp = rcText;
|
||||
@ -958,7 +1041,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
DT_CALCRECT
|
||||
);
|
||||
POINT p;
|
||||
p.x = rcText.left + rcTemp.right - rcTemp.left;
|
||||
p.x = rcText.left + (bChoiceLefted ? 0 : (rcTemp.right - rcTemp.left));
|
||||
p.y = rcText.bottom;
|
||||
ClientToScreen(
|
||||
hwnd,
|
||||
@ -998,7 +1081,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
{
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
if (bChoice)
|
||||
if (bChoice || bChoiceLefted)
|
||||
{
|
||||
for (unsigned int i = 0; i < numChoices; ++i)
|
||||
{
|
||||
@ -1015,7 +1098,24 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
DestroyMenu(hMenu);
|
||||
}
|
||||
}
|
||||
if (!hDC && !strncmp(line, ";l ", 3))
|
||||
if (hDC && (!strncmp(line, ";l ", 3) || !strncmp(line, ";y ", 3)))
|
||||
{
|
||||
RECT rcTemp;
|
||||
rcTemp = rcText;
|
||||
DrawTextW(
|
||||
hdcPaint,
|
||||
text,
|
||||
3,
|
||||
&rcTemp,
|
||||
DT_CALCRECT
|
||||
);
|
||||
rcText.left += (!strncmp(line, ";l ", 3) ? (rcTemp.right - rcTemp.left) : 0);
|
||||
for (unsigned int i = 0; i < wcslen(text); ++i)
|
||||
{
|
||||
text[i] = text[i + 3];
|
||||
}
|
||||
}
|
||||
if (!hDC && (!strncmp(line, ";l ", 3) || !strncmp(line, ";y ", 3)))
|
||||
{
|
||||
RECT rcTemp;
|
||||
rcTemp = rcText;
|
||||
@ -1037,14 +1137,52 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
|
||||
if (p) *p = 0;
|
||||
if (line[1] != 0)
|
||||
{
|
||||
ShellExecuteA(
|
||||
NULL,
|
||||
"open",
|
||||
line + 1,
|
||||
NULL,
|
||||
NULL,
|
||||
SW_SHOWNORMAL
|
||||
);
|
||||
if (line[1] == ';')
|
||||
{
|
||||
if (!strcmp(line + 2, ";EP_CHECK_FOR_UPDATES"))
|
||||
{
|
||||
HANDLE hEvent = CreateEventW(NULL, FALSE, FALSE, L"EP_Ev_CheckForUpdates_" _T(EP_CLSID));
|
||||
if (hEvent)
|
||||
{
|
||||
if (GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
{
|
||||
CloseHandle(hEvent);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetEvent(hEvent);
|
||||
CloseHandle(hEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(!strcmp(line + 2, ";EP_INSTALL_UPDATES"))
|
||||
{
|
||||
HANDLE hEvent = CreateEventW(NULL, FALSE, FALSE, L"EP_Ev_InstallUpdates_" _T(EP_CLSID));
|
||||
if (hEvent)
|
||||
{
|
||||
if (GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
{
|
||||
CloseHandle(hEvent);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetEvent(hEvent);
|
||||
CloseHandle(hEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ShellExecuteA(
|
||||
NULL,
|
||||
"open",
|
||||
line + 1,
|
||||
NULL,
|
||||
NULL,
|
||||
SW_SHOWNORMAL
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1379,6 +1517,13 @@ static LRESULT CALLBACK GUI_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
||||
|
||||
__declspec(dllexport) int ZZGUI(HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLine, int nCmdShow)
|
||||
{
|
||||
HWND hOther = NULL;
|
||||
if (hOther = FindWindowW(L"ExplorerPatcher_GUI_" _T(EP_CLSID), NULL))
|
||||
{
|
||||
SetForegroundWindow(hOther);
|
||||
return 0;
|
||||
}
|
||||
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwDisposition;
|
||||
DWORD dwSize = sizeof(DWORD);
|
||||
@ -1509,7 +1654,7 @@ __declspec(dllexport) int ZZGUI(HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLin
|
||||
wc.lpfnWndProc = GUI_WindowProc;
|
||||
wc.hbrBackground = _this.hBackgroundBrush;
|
||||
wc.hInstance = hModule;
|
||||
wc.lpszClassName = L"ExplorerPatcherGUI";
|
||||
wc.lpszClassName = L"ExplorerPatcher_GUI_" _T(EP_CLSID);
|
||||
wc.hCursor = LoadCursorW(NULL, IDC_ARROW);
|
||||
HMODULE hShell32 = LoadLibraryExW(wszPath, NULL, LOAD_LIBRARY_AS_DATAFILE);
|
||||
if (hShell32)
|
||||
@ -1569,7 +1714,7 @@ __declspec(dllexport) int ZZGUI(HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLin
|
||||
}
|
||||
HWND hwnd = CreateWindowEx(
|
||||
NULL,
|
||||
L"ExplorerPatcherGUI",
|
||||
L"ExplorerPatcher_GUI_" _T(EP_CLSID),
|
||||
title,
|
||||
WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX,
|
||||
0,
|
||||
@ -1582,6 +1727,7 @@ __declspec(dllexport) int ZZGUI(HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLin
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (IsThemeActive())
|
||||
{
|
||||
if (bIsCompositionEnabled)
|
||||
|
@ -4,11 +4,13 @@
|
||||
|
||||
;T Taskbar
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Enable Windows 10 taskbar *
|
||||
;z 2 Taskbar style *
|
||||
;x 0 Windows 11 (default)
|
||||
;x 1 Windows 10
|
||||
"OldTaskbar"=dword:00000001
|
||||
;t The following settings only apply to the Windows 10 taskbar:
|
||||
;l Enable missing system tray icons
|
||||
;shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}\SystemIcons
|
||||
;y More taskbar options in the Settings app 🡕
|
||||
;ms-settings:taskbar
|
||||
;t The following additional settings only apply to the Windows 10 taskbar:
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
;c 3 Combine taskbar icons on main taskbar
|
||||
;x 0 Always combine
|
||||
@ -41,11 +43,13 @@
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
;b Show Desktop button
|
||||
"TaskbarSD"=dword:00000001
|
||||
;t
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Add shortcut to program settings in Win+X menu
|
||||
"PropertiesInWinX"=dword:00000001
|
||||
;t
|
||||
|
||||
;T System tray
|
||||
;l Enable missing system tray icons
|
||||
;y Enable missing system tray icons 🡕
|
||||
;shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}\SystemIcons
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
;b Show seconds in the clock
|
||||
@ -107,29 +111,31 @@
|
||||
;d Disable the Windows 11 context menu *
|
||||
@=""
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;i Use immersive menus when displaying Windows 10 context menus
|
||||
;i Use immersive menus when displaying Windows 10 context menus **
|
||||
"DisableImmersiveContextMenu"=dword:00000000
|
||||
[-HKEY_CURRENT_USER\Software\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}\InprocServer32]
|
||||
;d Disable navigation bar
|
||||
;d Disable navigation bar **
|
||||
@=""
|
||||
[-HKEY_CURRENT_USER\Software\Classes\CLSID\{1d64637d-31e9-4b06-9124-e83fb178ac6e}\TreatAs]
|
||||
;d Disable modern search bar
|
||||
@="{64bc32b5-4eec-4de7-972d-bd8bd0324537}"
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Hide search bar completely
|
||||
;b Hide search bar completely **
|
||||
"HideExplorerSearchBar"=dword:00000000
|
||||
;p 2
|
||||
;b Mica effect on title bar
|
||||
"MicaEffectOnTitlebar"=dword:00000000
|
||||
[-HKEY_CURRENT_USER\Software\Classes\CLSID\{1eeb5b5a-06fb-4732-96b3-975c0194eb39}\InprocServer32]
|
||||
;d Enable legacy list view *
|
||||
@=""
|
||||
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D17F1E1A-5919-4427-8F89-A1A8503CA3EB}\InprocServer32]
|
||||
;d Register as shell extension
|
||||
@="{64bc32b5-4eec-4de7-972d-bd8bd0324537}"
|
||||
|
||||
;t ________________________
|
||||
;e For the settings marked with (**) to work in Open/Save file dialogs as well, register this
|
||||
;e utility as shell extension using the option above.
|
||||
;y Learn more 🡕
|
||||
;https://github.com/valinet/ExplorerPatcher/wiki/Using-ExplorerPatcher-as-shell-extension
|
||||
|
||||
;T Start menu
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Enable Start menu support
|
||||
"HookStartMenu"=dword:00000001
|
||||
;t The following settings only work when the above is enabled:
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage]
|
||||
;i Open Start on monitor containing the cursor
|
||||
"MonitorOverride"=dword:00000001
|
||||
@ -137,11 +143,6 @@
|
||||
"OpenAtLogon"=dword:00000000
|
||||
;b Open Start in All apps by default
|
||||
"MakeAllAppsDefault"=dword:00000000
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
;c 2 Location on screen
|
||||
;x 0 Left
|
||||
;x 1 Center (default)
|
||||
"TaskbarAl"=dword:00000001
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;c 22 Maximum number of frequent apps to show
|
||||
;x 0 None
|
||||
@ -167,10 +168,16 @@
|
||||
;x 20 20
|
||||
;x 99999 Unlimited
|
||||
"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
|
||||
|
||||
|
||||
;T Window switcher
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
|
||||
;c 3 Window switcher (Alt+Tab) style *
|
||||
;z 3 Window switcher (Alt+Tab) style *
|
||||
;x 0 Windows 11
|
||||
;x 2 Windows 10
|
||||
;x 1 Windows NT
|
||||
@ -276,6 +283,7 @@
|
||||
;x 500 500 ms
|
||||
"ShowDelay"=dword:00000064
|
||||
|
||||
|
||||
;T Other
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Open clock flyout when pressing Win+C instead of Microsoft Teams
|
||||
@ -292,9 +300,28 @@
|
||||
;b Show Command Prompt instead of PowerShell in Win+X menu *
|
||||
"DontUsePowerShellOnWinX"=dword:00000000
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Remove shortcut key from menu item
|
||||
;b Remove shortcut key from program settings item in Win+X menu
|
||||
"NoMenuAccelerator"=dword:00000000
|
||||
|
||||
|
||||
;T Updates
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;z 3 When File Explorer starts
|
||||
;x 1 Notify about available updates (default)
|
||||
;x 0 Prompt to install available updates
|
||||
;x 2 Do not check for updates
|
||||
"UpdatePolicy"=dword:00000001
|
||||
;t ________________________
|
||||
;y Check for updates
|
||||
;;;EP_CHECK_FOR_UPDATES
|
||||
;y Install latest version
|
||||
;;;EP_INSTALL_UPDATES
|
||||
;y Read about changes in the latest releases 🡕
|
||||
;https://github.com/valinet/ExplorerPatcher/blob/master/CHANGELOG.md
|
||||
;y Learn more 🡕
|
||||
;https://github.com/valinet/ExplorerPatcher/wiki/Configure-updates
|
||||
|
||||
|
||||
;T Advanced
|
||||
;t Only change these settings if you know what you are doing. You've been warned!
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
@ -302,6 +329,18 @@
|
||||
"AllocConsole"=dword:00000000
|
||||
;b Dump memory leaks
|
||||
"Memcheck"=dword:00000000
|
||||
[HKEY_CURRENT_USER\Control Panel\Desktop]
|
||||
;b Show Windows build info on the desktop *
|
||||
"PaintDesktopversion"=dword:00000000
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Enable advanced mitigations for correct rendering using classic theme *
|
||||
"ClassicThemeMitigations"=dword:00000000
|
||||
[-HKEY_CURRENT_USER\Software\Classes\CLSID\{1eeb5b5a-06fb-4732-96b3-975c0194eb39}\InprocServer32]
|
||||
;d Enable SysListView32 for Explorer views *
|
||||
@=""
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;i Do not hook Start menu from main Explorer process (permanently disabled) *
|
||||
"HookStartMenu"=dword:00000001
|
||||
;c 12 Supplimentary delay at logon *
|
||||
;x 0 None (default)
|
||||
;x 300 300 ms
|
||||
@ -316,14 +355,9 @@
|
||||
;x 8000 8 seconds
|
||||
;x 10000 10 seconds
|
||||
"ExplorerReadyDelay"=dword:00000000
|
||||
[HKEY_CURRENT_USER\Control Panel\Desktop]
|
||||
;b Show Windows build info on the desktop *
|
||||
"PaintDesktopversion"=dword:00000000
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExplorerPatcher]
|
||||
;b Enable advanced mitigations for correct rendering using classic theme *
|
||||
"ClassicThemeMitigations"=dword:00000000
|
||||
;a Only change the following option if you have a single taskbar !!!
|
||||
;c 21 Always show main taskbar on this monitor * (experimental)
|
||||
;c 21 Always show main taskbar on this monitor * (not working)
|
||||
;x 0 Primary (default)
|
||||
;x 1 1
|
||||
;x 2 2
|
||||
@ -346,6 +380,10 @@
|
||||
;x 19 19
|
||||
;x 20 20
|
||||
"TaskbarMonitorOverride"=dword:00000000
|
||||
;t ________________________
|
||||
;e Only change these settings after reading the documentation about them.
|
||||
;y Learn more 🡕
|
||||
;https://github.com/valinet/ExplorerPatcher/wiki/About-advanced-settings
|
||||
|
||||
|
||||
;T About
|
||||
@ -355,14 +393,16 @@
|
||||
;e
|
||||
;e This project aims to bring back a productive working environment on Windows 11.
|
||||
;t Proudly programmed by Valentin-Gabriel Radu.
|
||||
;l Visit project GitHub (https://github.com/valinet)
|
||||
;y Visit project GitHub (https://github.com/valinet) 🡕
|
||||
;https://github.com/valinet
|
||||
;l Visit web site (https://www.valinet.ro)
|
||||
;y Visit web site (https://www.valinet.ro) 🡕
|
||||
;https://www.valinet.ro
|
||||
;l E-mail author (valentingabrielradu@gmail.com)
|
||||
;y E-mail author (valentingabrielradu@gmail.com) 🡕
|
||||
;mailto:valentingabrielradu@gmail.com
|
||||
;l Donate (using PayPal)
|
||||
;y Donate (using PayPal) 🡕
|
||||
;https://www.paypal.com/donate?business=valentingabrielradu%40gmail.com&no_recurring=0&item_name=ExplorerPatcher¤cy_code=EUR
|
||||
;y Frequently Asked Questions 🡕
|
||||
;https://github.com/valinet/ExplorerPatcher/wiki/Frequently-asked-questions
|
||||
|
||||
;f
|
||||
;t Settings marked with an (*) require restarting File Explorer.
|
||||
|
Loading…
Reference in New Issue
Block a user