ExplorerPatcher 安装与使用完全指南:把 Windows 10 任务栏找回 Windows 11
2026/9/6 19:22:18 网站建设 项目流程

ExplorerPatcher 安装与使用完全指南:把 Windows 10 任务栏找回 Windows 11

【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher

Windows 11 把任务栏锁定在中间、重写了开始菜单和 Alt+Tab,很多习惯 Windows 10 操作方式的人至今不适应。ExplorerPatcher 就是一个注入 explorer.exe 的开源工具,用 Windows 10 的任务栏、开始菜单和窗口切换器替换掉 Windows 11 的对应组件,同时附带经典命令栏、天气控件等增强功能。

这篇指南的路线是:先把它装上、把界面改成你熟悉的樣子,再解释它到底动了系统的哪些地方,最后讲清楚出问题时怎么排查、怎么退。

一、三分钟上手:安装与基础设置

1. 安装只有四步

根据 README.md 的说明,流程如下:

  1. 从项目 Releases 页面下载安装程序:Intel/AMD 处理器选ep_setup.exe,骁龙平台选ep_setup_arm64.exe
  2. 运行安装程序,它会自动请求管理员权限,随后关闭 explorer.exe 并写入所需文件。
  3. 安装完成后,桌面上出现的就是 Windows 10 风格任务栏。
  4. 右键任务栏,选择「属性」,打开 ExplorerPatcher 的设置面板。

安装器本身用 C 语言编写,见 ep_setup/ep_setup.c。值得一提的是,它把整个安装文件打成压缩数据内置在程序里(代码中引入了 zlib 的 minizip),所以运行后无需再联网拉取文件。

2. 三个最常改的选项

进入属性面板后,按 README 的指引逐项设置:

设置分区选项效果
任务栏任务栏样式可选 Windows 10 风格,或项目自研的 "Windows 10 (ExplorerPatcher)" 实现
开始菜单开始菜单样式改回 Windows 10 经典布局
窗口切换器Alt+Tab 样式换回 Windows 10 的 Alt+Tab

需要留意 README 里的一句提醒:部分功能在某些 Windows 版本上不可用,所以设置项的可选范围会随系统版本变化。

二、它是怎么做到的:注入、挂钩与注册表监听

ExplorerPatcher 的核心是一个以 DLL 形式注入资源管理器进程的模块,源码入口在 ExplorerPatcher/dllmain.c(超过一万三千行,几乎全部功能都挂在这里)。它的工作方式可以分成三块。

1. 挂钩(Hook):在系统函数前面"加一道关卡"

打个比方:系统调用某个函数就像推一扇门,挂钩相当于在门把手前加装一个中转器——先检查、改写操作,再放行给原来的门。项目把这套机制封装在 hooking.h,底层已从旧方案换成 SlimDetours,26100.4946.69 版本的更新日志里明确写了这一条:

// hooking.h:把"目标函数"重定向到"钩子函数"的核心调用 inline int funchook_prepare( funchook_t* funchook, void** target_func, void* hook_func ) { HRESULT hr = SlimDetoursInlineHook(TRUE, target_func, hook_func); return SUCCEEDED(hr) ? 0 : hr; }

换成 SlimDetours 不是随便换的:日志说明该改动同时修复了 ARM64 上与某些挂钩CreateWindowExW的第三方修改项的冲突,以及一个"挂钩函数在重启前偶发致崩"的小概率问题。

2. 注册表监听:设置改了,界面立即响应

你在属性面板里改的每一项,最终都落到注册表。项目用一条独立线程盯着这些键值,源码见 SettingsMonitor.c:

// 对每个要监听的注册表项注册"值被写入"通知, // 事件触发后等待返回,再回调对应的处理函数 RegNotifyChangeKeyValue( params->settings[i].hKey, FALSE, REG_NOTIFY_CHANGE_LAST_SET, params->settings[i].hEvent, TRUE );

这就是为什么改完设置不用重启资源管理器——监听线程捕获到写事件后,直接调用对应项的回调刷新界面。

3. 关键对象的安全管理

天气控件这类由 COM 对象承载的功能最容易出生命周期问题。dllmain.c 中对天气控件对象epw专门配了一个临界区lock_epw做保护,所有对它的释放、状态重置都在锁内完成,避免多线程竞争导致的访问违例。这也是理解该项目稳定性设计的一个典型样本。

三、版本对应关系:该用哪个安装包

ExplorerPatcher 的安装包版本号与 Windows 内部构建号严格对应,这是使用时最容易踩坑的地方。版本号定义在 version.h,当前主版本为26100.4946.69.6

按系统构建号对照

安装包主版本号对应的系统备注
26100.4946.69Windows 11 24H2(26100.x)官方日志标注已测试 26100.4946、26100.5074、26200.5751、26220.6682
22621.4317.67Windows 11 22H2(22621.x)曾测试 22621.3296、26100.2161 等构建
22631.5335.6822H2/23H2 及 24H2 早期过渡ep_dwm支持 24H2 的版本线

完整的版本记录、每个版本的实测构建列表都在 CHANGELOG.md 里,安装前对照自己的系统构建号(winver命令可查看)选包最稳妥。

已知问题也要看

CHANGELOG 对已知问题是明确列出的,例如 26100.4946.69 版本下:

  • 在 22H2/23H2 上启用新版 Windows 11 开始菜单的同时使用 Windows 10 任务栏,会导致 explorer.exe 崩溃重启循环;
  • 天气图标包切换到 "Microsoft" 暂无效果。

这些不是玄学故障,是项目在公开说明"当前版本做不到"的场景。遇到同类现象,先查日志再怀疑是环境问题。

四、出问题怎么办:排查路径与卸载回退

1. 更新与自检

程序内置更新机制:属性面板里进入「更新」分区可以配置、检查和安装新版。26100.4946.69 这个版本本身修复了天气控件因数据源侧变更导致的"Unable to load weather information"(对应日志中的 #1334、#4351 两个问题),如果天气面板报加载失败,先更新、再在「属性 → 天气」里执行"清除天气控件本地数据"。

2. 卸载的四种方式

README.md 给出的卸载途径是等价的,任选其一:

  • 任务栏右键「属性」,进入「卸载」分区;
  • 控制面板的「程序和功能」,或设置里的「应用和功能」;
  • 命令行运行ep_setup.exe /uninstall
  • ep_setup.exe改名为ep_uninstall.exe后直接运行。

3. 出问题的典型排查顺序

  1. winver确认系统内部构建号,核对是否选对了安装包版本;
  2. 对照 CHANGELOG 的 Known issues,确认是否属于已知限制;
  3. 检查是否与其他挂钩了同一系统函数的第三方修改项冲突(日志中 ARM64 的 SlimDetours 修复就是这类案例);
  4. 仍无法定位时,先用上面的方式卸载恢复原状,再带着系统构建号、ExplorerPatcher 版本去项目社区求助。

五、想深入的话:源码结构导览

如果你想自己读代码或参与开发,先按这个目录分工看:

git clone https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher
目录/文件职责
ExplorerPatcher/注入 explorer.exe 的主模块:dllmain.c、Taskbar10.cpp、StartMenu.c、SettingsMonitor.c 等
ep_taskbar 相关项目自研的 Windows 10 任务栏实现,22H2+ 上已成为默认任务栏
ep_setup/安装/卸载程序,含内置压缩资源与加密支持
ep_weather_host/天气控件的宿主进程与数据接口
ep_dwm/桌面窗口管理器相关的辅助服务(24H2 起改名为ep_dwm_svc.exe以避开升级拦截)
libs/依赖库:zlib、sws、libvalinet
ExplorerPatcher-L10N/多语言本地化

构建侧有两个批处理入口:BuildDependenciesDebug.bat 与 BuildDependenciesRelease.bat,用于先构建依赖再编译主工程(解文件见 ExplorerPatcher.sln)。

写在最后

ExplorerPatcher 的价值在于它把"改回 Windows 10 界面"做成了一个可安装、可卸载、版本可追溯的系统级工具,而不是零散的黑魔法脚本:挂钩有统一封装,设置变更有注册表监听,版本适配有逐条记录的日志。对普通用户,记住三件事就够了——按构建号选安装包、改完设置无需手动重启资源管理器、出问题先查 CHANGELOG 再卸载重来。

【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询