From 4f3dab5a5c97acadbcb171f69b5c099caf552e74 Mon Sep 17 00:00:00 2001 From: Valentin Radu Date: Wed, 1 Mar 2023 21:29:35 +0200 Subject: [PATCH] Version: 22621.1344.53.1 --- CHANGELOG.md | 17 +++++ ExplorerPatcher.sln | 115 ++++++++++++++++++++++++++++++++- ExplorerPatcher/dllmain.c | 17 +++++ ExplorerPatcher/osutility.h | 7 ++ ExplorerPatcher/settings.reg | 2 +- ExplorerPatcher/settings10.reg | 2 +- ep_extra/worker.c | 2 +- version.h | 10 +-- 8 files changed, 162 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c99452..7c0e595 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,23 @@ This document includes the same release notes as in the [Releases](https://github.com/valinet/ExplorerPatcher/releases) section on GitHub. +## 22621.1344.53 + +Tested on OS builds 22621.1344, 22000.1574, and 19044.1466. + +Please make sure you are connected to the Internet while installing, the application might need to perform one-time downloads for several resources in order to enable full functionality. + +#### Details + +##### 1 + +* Windows 10 taskbar: Fixed a bug that crashed `explorer` on OS build 22621.1344. (f9d702e) +* Weather: Fixed a bug that displayed the widget area using a different background color. (cc0af46) +* Weather: Fixed a bug that might throw a script error when certain elements are not ready. (c083327) +* Weather: Fixed a bug that could prevent the widget from properly loading. (a8c7fba) +* ep_extra: Implemented a loadable module for Windows 7's Alt-Tab. (ca8ce13) +* ep_extra: Implemented an `ep_extra`-based loader. (1f4b586) + ## 22621.819.52 Tested on OS builds 22621.819 and 22000.1098. diff --git a/ExplorerPatcher.sln b/ExplorerPatcher.sln index 614c81d..c6f4eac 100644 --- a/ExplorerPatcher.sln +++ b/ExplorerPatcher.sln @@ -5,8 +5,8 @@ VisualStudioVersion = 17.0.32126.317 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPatcher", "ExplorerPatcher\ExplorerPatcher.vcxproj", "{DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}" ProjectSection(ProjectDependencies) = postProject - {AF02ABAC-EAEB-471C-9957-73D430B8B4DE} = {AF02ABAC-EAEB-471C-9957-73D430B8B4DE} {314A50C1-F0A0-4D0C-89E1-AD8F3951043E} = {314A50C1-F0A0-4D0C-89E1-AD8F3951043E} + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE} = {AF02ABAC-EAEB-471C-9957-73D430B8B4DE} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_generate_release_description", "ep_generate_release_description\ep_generate_release_description.vcxproj", "{C362CFBE-7C6B-4457-8D01-839818D42ECB}" @@ -15,10 +15,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_generate_release_name", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_setup", "ep_setup\ep_setup.vcxproj", "{2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}" ProjectSection(ProjectDependencies) = postProject - {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9} = {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9} {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87} = {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87} {314A50C1-F0A0-4D0C-89E1-AD8F3951043E} = {314A50C1-F0A0-4D0C-89E1-AD8F3951043E} {6BF03EEA-200A-4698-9555-057DD52B0C78} = {6BF03EEA-200A-4698-9555-057DD52B0C78} + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9} = {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_setup_patch", "ep_setup_patch\ep_setup_patch.vcxproj", "{0C13E5F3-106B-4836-A7C2-8E5808A6ED78}" @@ -37,70 +37,181 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_weather_host_stub", "ep_ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_startmenu", "ep_startmenu\ep_startmenu.vcxproj", "{6BF03EEA-200A-4698-9555-057DD52B0C78}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_extra", "ep_extra\ep_extra.vcxproj", "{93FA47CC-7753-4F86-B583-69048F51C5AB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ep_extra_valinet.win7alttab", "ep_extra_valinet.win7alttab\ep_extra_valinet.win7alttab.vcxproj", "{A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}" + ProjectSection(ProjectDependencies) = postProject + {93FA47CC-7753-4F86-B583-69048F51C5AB} = {93FA47CC-7753-4F86-B583-69048F51C5AB} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|amd64 = Debug|amd64 Debug|IA-32 = Debug|IA-32 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|amd64 = Release|amd64 Release|IA-32 = Release|IA-32 + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|amd64.ActiveCfg = Debug|x64 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|amd64.Build.0 = Debug|x64 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|IA-32.ActiveCfg = Debug|Win32 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|IA-32.Build.0 = Debug|Win32 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|x64.ActiveCfg = Debug|x64 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|x64.Build.0 = Debug|x64 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|x86.ActiveCfg = Debug|Win32 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Debug|x86.Build.0 = Debug|Win32 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|amd64.ActiveCfg = Release|x64 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|amd64.Build.0 = Release|x64 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|IA-32.ActiveCfg = Release|Win32 {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|IA-32.Build.0 = Release|Win32 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|x64.ActiveCfg = Release|x64 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|x64.Build.0 = Release|x64 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|x86.ActiveCfg = Release|Win32 + {DB3E4319-2969-42B6-B7E8-BB57AA8C9FA9}.Release|x86.Build.0 = Release|Win32 {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|amd64.ActiveCfg = Debug|x64 {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|amd64.Build.0 = Debug|x64 {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|IA-32.ActiveCfg = Debug|Win32 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|x64.ActiveCfg = Debug|x64 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|x64.Build.0 = Debug|x64 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|x86.ActiveCfg = Debug|Win32 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Debug|x86.Build.0 = Debug|Win32 {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|amd64.ActiveCfg = Release|x64 {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|amd64.Build.0 = Release|x64 {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|IA-32.ActiveCfg = Release|Win32 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|x64.ActiveCfg = Release|x64 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|x64.Build.0 = Release|x64 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|x86.ActiveCfg = Release|Win32 + {C362CFBE-7C6B-4457-8D01-839818D42ECB}.Release|x86.Build.0 = Release|Win32 {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|amd64.ActiveCfg = Debug|x64 {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|amd64.Build.0 = Debug|x64 {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|IA-32.ActiveCfg = Debug|Win32 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|x64.ActiveCfg = Debug|x64 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|x64.Build.0 = Debug|x64 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|x86.ActiveCfg = Debug|Win32 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Debug|x86.Build.0 = Debug|Win32 {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|amd64.ActiveCfg = Release|x64 {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|amd64.Build.0 = Release|x64 {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|IA-32.ActiveCfg = Release|Win32 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|x64.ActiveCfg = Release|x64 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|x64.Build.0 = Release|x64 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|x86.ActiveCfg = Release|Win32 + {78D0C3CF-25C0-41D4-9359-0E9AB72B9874}.Release|x86.Build.0 = Release|Win32 {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|amd64.ActiveCfg = Debug|x64 {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|amd64.Build.0 = Debug|x64 {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|IA-32.ActiveCfg = Debug|Win32 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|x64.ActiveCfg = Debug|x64 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|x64.Build.0 = Debug|x64 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|x86.ActiveCfg = Debug|Win32 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Debug|x86.Build.0 = Debug|Win32 {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|amd64.ActiveCfg = Release|x64 {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|amd64.Build.0 = Release|x64 {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|IA-32.ActiveCfg = Release|Win32 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|x64.ActiveCfg = Release|x64 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|x64.Build.0 = Release|x64 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|x86.ActiveCfg = Release|Win32 + {2FD40B09-F224-4E9A-B2FE-A22B50B2DEBF}.Release|x86.Build.0 = Release|Win32 {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|amd64.ActiveCfg = Debug|x64 {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|amd64.Build.0 = Debug|x64 {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|IA-32.ActiveCfg = Debug|Win32 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|x64.ActiveCfg = Debug|x64 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|x64.Build.0 = Debug|x64 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|x86.ActiveCfg = Debug|Win32 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Debug|x86.Build.0 = Debug|Win32 {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|amd64.ActiveCfg = Release|x64 {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|amd64.Build.0 = Release|x64 {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|IA-32.ActiveCfg = Release|Win32 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|x64.ActiveCfg = Release|x64 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|x64.Build.0 = Release|x64 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|x86.ActiveCfg = Release|Win32 + {0C13E5F3-106B-4836-A7C2-8E5808A6ED78}.Release|x86.Build.0 = Release|Win32 {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|amd64.ActiveCfg = Debug|x64 {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|amd64.Build.0 = Debug|x64 {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|IA-32.ActiveCfg = Debug|Win32 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|x64.ActiveCfg = Debug|x64 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|x64.Build.0 = Debug|x64 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|x86.ActiveCfg = Debug|Win32 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Debug|x86.Build.0 = Debug|Win32 {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|amd64.ActiveCfg = Release|x64 {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|amd64.Build.0 = Release|x64 {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|IA-32.ActiveCfg = Release|Win32 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|x64.ActiveCfg = Release|x64 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|x64.Build.0 = Release|x64 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|x86.ActiveCfg = Release|Win32 + {1ECCAB38-61B6-4C85-BBB5-2E2232DA3A87}.Release|x86.Build.0 = Release|Win32 {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|amd64.ActiveCfg = Debug|x64 {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|amd64.Build.0 = Debug|x64 {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|IA-32.ActiveCfg = Debug|Win32 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|x64.ActiveCfg = Debug|x64 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|x64.Build.0 = Debug|x64 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|x86.ActiveCfg = Debug|Win32 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Debug|x86.Build.0 = Debug|Win32 {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|amd64.ActiveCfg = Release|x64 {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|amd64.Build.0 = Release|x64 {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|IA-32.ActiveCfg = Release|Win32 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|x64.ActiveCfg = Release|x64 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|x64.Build.0 = Release|x64 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|x86.ActiveCfg = Release|Win32 + {314A50C1-F0A0-4D0C-89E1-AD8F3951043E}.Release|x86.Build.0 = Release|Win32 {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|amd64.ActiveCfg = Debug|x64 {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|amd64.Build.0 = Debug|x64 {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|IA-32.ActiveCfg = Debug|Win32 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|x64.ActiveCfg = Debug|x64 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|x64.Build.0 = Debug|x64 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|x86.ActiveCfg = Debug|Win32 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Debug|x86.Build.0 = Debug|Win32 {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|amd64.ActiveCfg = Release|x64 {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|amd64.Build.0 = Release|x64 {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|IA-32.ActiveCfg = Release|Win32 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|x64.ActiveCfg = Release|x64 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|x64.Build.0 = Release|x64 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|x86.ActiveCfg = Release|Win32 + {AF02ABAC-EAEB-471C-9957-73D430B8B4DE}.Release|x86.Build.0 = Release|Win32 {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|amd64.ActiveCfg = Debug|x64 {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|amd64.Build.0 = Debug|x64 {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|IA-32.ActiveCfg = Debug|Win32 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|x64.ActiveCfg = Debug|x64 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|x64.Build.0 = Debug|x64 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|x86.ActiveCfg = Debug|Win32 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Debug|x86.Build.0 = Debug|Win32 {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|amd64.ActiveCfg = Release|x64 {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|amd64.Build.0 = Release|x64 {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|IA-32.ActiveCfg = Release|Win32 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|x64.ActiveCfg = Release|x64 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|x64.Build.0 = Release|x64 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|x86.ActiveCfg = Release|Win32 + {6BF03EEA-200A-4698-9555-057DD52B0C78}.Release|x86.Build.0 = Release|Win32 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|amd64.ActiveCfg = Debug|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|amd64.Build.0 = Debug|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|IA-32.ActiveCfg = Debug|Win32 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|x64.ActiveCfg = Debug|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|x64.Build.0 = Debug|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|x86.ActiveCfg = Debug|Win32 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Debug|x86.Build.0 = Debug|Win32 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|amd64.ActiveCfg = Release|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|amd64.Build.0 = Release|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|IA-32.ActiveCfg = Release|Win32 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|x64.ActiveCfg = Release|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|x64.Build.0 = Release|x64 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|x86.ActiveCfg = Release|Win32 + {93FA47CC-7753-4F86-B583-69048F51C5AB}.Release|x86.Build.0 = Release|Win32 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|amd64.ActiveCfg = Debug|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|amd64.Build.0 = Debug|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|IA-32.ActiveCfg = Debug|Win32 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|x64.ActiveCfg = Debug|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|x64.Build.0 = Debug|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|x86.ActiveCfg = Debug|Win32 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Debug|x86.Build.0 = Debug|Win32 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|amd64.ActiveCfg = Release|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|amd64.Build.0 = Release|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|IA-32.ActiveCfg = Release|Win32 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|x64.ActiveCfg = Release|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|x64.Build.0 = Release|x64 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|x86.ActiveCfg = Release|Win32 + {A66C5F27-DBF8-45A4-BDF3-BA54D8D82D0F}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/ExplorerPatcher/dllmain.c b/ExplorerPatcher/dllmain.c index f1647f5..affa4d6 100644 --- a/ExplorerPatcher/dllmain.c +++ b/ExplorerPatcher/dllmain.c @@ -9569,6 +9569,20 @@ WORD explorer_CascadeWindows( #pragma endregion +#pragma region "Fix explorer crashing on Windows builds lower than 25158" +HWND(*NtUserFindWindowEx)(HWND hWndParent, HWND hWndChildAfter, LPCWSTR lpszClass, LPCWSTR lpszWindow, DWORD dwType); +HWND user32_NtUserFindWindowExHook(HWND hWndParent, HWND hWndChildAfter, LPCWSTR lpszClass, LPCWSTR lpszWindow, DWORD dwType) { + if (!NtUserFindWindowEx) NtUserFindWindowEx = GetProcAddress(GetModuleHandleW(L"win32u.dll"), "NtUserFindWindowEx"); + HWND hWnd = NULL; + for (int i = 0; i < 5; ++i) { + if (hWnd) break; + hWnd = NtUserFindWindowEx(hWndParent, hWndChildAfter, lpszClass, lpszWindow, dwType); + } + return hWnd; +} +#pragma endregion + + DWORD InjectBasicFunctions(BOOL bIsExplorer, BOOL bInstall) { //Sleep(150); @@ -10119,6 +10133,9 @@ DWORD Inject(BOOL bIsExplorer) GetWindowBand = GetProcAddress(hUser32, "GetWindowBand"); SetWindowBand = GetProcAddress(hUser32, "SetWindowBand"); SetWindowCompositionAttribute = GetProcAddress(hUser32, "SetWindowCompositionAttribute"); + if (!IsWindows11BuildHigherThan25158()) { + VnPatchIAT(hUser32, "win32u.dll", "NtUserFindWindowEx", user32_NtUserFindWindowExHook); + } printf("Setup user32 functions done\n"); diff --git a/ExplorerPatcher/osutility.h b/ExplorerPatcher/osutility.h index 656dad7..d2ae7d2 100644 --- a/ExplorerPatcher/osutility.h +++ b/ExplorerPatcher/osutility.h @@ -62,4 +62,11 @@ inline BOOL IsWindows11Version22H2OrHigher() if (global_rovi.dwBuildNumber >= 22621) return TRUE; return FALSE; } + +inline BOOL IsWindows11BuildHigherThan25158() +{ + if (!global_rovi.dwMajorVersion) global_ubr = VnGetOSVersionAndUBR(&global_rovi); + if (global_rovi.dwBuildNumber > 25158) return TRUE; + return FALSE; +} #endif \ No newline at end of file diff --git a/ExplorerPatcher/settings.reg b/ExplorerPatcher/settings.reg index eba4489..e866f21 100644 --- a/ExplorerPatcher/settings.reg +++ b/ExplorerPatcher/settings.reg @@ -755,7 +755,7 @@ ;T About ;e ExplorerPatcher ;e Version %VERSIONINFORMATIONSTRING% -;t © 2006-2022 VALINET Solutions SRL. All rights reserved. +;t © 2006-2023 VALINET Solutions SRL. All rights reserved. ;e ;e This project aims to enhance the working environment on Windows. ;e Proudly engineered by Valentin-Gabriel Radu. diff --git a/ExplorerPatcher/settings10.reg b/ExplorerPatcher/settings10.reg index 323ca81..c8bc2b5 100644 --- a/ExplorerPatcher/settings10.reg +++ b/ExplorerPatcher/settings10.reg @@ -573,7 +573,7 @@ ;T About ;e ExplorerPatcher ;e Version %VERSIONINFORMATIONSTRING% -;t © 2006-2022 VALINET Solutions SRL. All rights reserved. +;t © 2006-2023 VALINET Solutions SRL. All rights reserved. ;e ;e This project aims to enhance the working environment on Windows. ;e Proudly engineered by Valentin-Gabriel Radu. diff --git a/ep_extra/worker.c b/ep_extra/worker.c index 8f0b97f..8364cb1 100644 --- a/ep_extra/worker.c +++ b/ep_extra/worker.c @@ -29,7 +29,7 @@ void* worker() { if (hLib) { FARPROC proc = (FARPROC)(GetProcAddress(hLib, "setup")); if (proc) { - if (!proc()) FreeLibrary(hLib); + if (proc()) FreeLibrary(hLib); } else FreeLibrary(hLib); } diff --git a/version.h b/version.h index 2b5d1f6..9562fd5 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define VER_MAJOR 22621 -#define VER_MINOR 819 -#define VER_BUILD_HI 52 -#define VER_BUILD_LO 2 +#define VER_MINOR 1344 +#define VER_BUILD_HI 53 +#define VER_BUILD_LO 1 #define VER_FLAGS VS_FF_PRERELEASE @@ -12,5 +12,5 @@ #define VER_STR(arg) #arg // The String form of the version numbers -#define VER_FILE_STRING VALUE "FileVersion", "22621.819.52.2" -#define VER_PRODUCT_STRING VALUE "ProductVersion", "22621.819.52.2" +#define VER_FILE_STRING VALUE "FileVersion", "22621.1344.53.1" +#define VER_PRODUCT_STRING VALUE "ProductVersion", "22621.1344.53.1"