ExplorerPatcher 速成指南:3 步在 Windows 11 上还原 Windows 10 任务栏
【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher
ExplorerPatcher 是一个把 Windows 11 桌面完整还原成 Windows 10 任务栏、开始菜单与 Alt+Tab 的 Windows 外壳增强工具,它把 DLL 注入 explorer.exe 后用 hook 技术改写字系统行为。适合受不惯 Win11 界面的用户,以及想在外壳进程里做定制开发的开发者;它帮你省掉研究 Win11 系统内部实现的全部功夫——一键安装,一键卸载。
项目速览:它是什么,能干什么
| 项目 | 事实 |
|---|---|
| 定位 | Windows 11 外壳还原 + 扩展工具(任务栏 / 开始菜单 / Alt+Tab / 资源管理器) |
| 实现语言 | C/C++(Win32 API),主注入入口单文件 1.3 万行 |
| 依赖 | zlib、libvalinet(hook 库)、SimpleWindowSwitcher,全部随仓库内置于 libs/ 目录 |
| 支持平台 | Windows 10 1809+ / Windows 11,x64 与 ARM64(骁龙设备) |
| 安装方式 | 运行 ep_setup.exe(Intel/AMD)或 ep_setup_arm64.exe;卸载用 ep_setup.exe /uninstall |
| 构建工具 | Visual Studio 2022 + CMake(CMake 只用于编译 zlib 依赖) |
| 典型用途 | Win11 桌面回滚 Win10 风格;用 ep_extra 机制注入第三方外壳模块 |
三条命令跑起来:安装、构建、验证
普通用户最短路径:从项目 release 页下载 ep_setup.exe(骁龙设备选 ep_setup_arm64.exe),双击运行,它会自动请求提权并关闭 explorer.exe 完成安装——装完你看到的就是 Windows 10 风格任务栏。接着右键任务栏 →「属性」打开设置面板,把任务栏样式、开始菜单、窗口切换器(Alt+Tab)逐项切到 Windows 10 即可。
想读源码或自己构建,在 VS2022 开发者命令提示符下执行:
git clone https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher cd ExplorerPatcher BuildDependenciesRelease.bat第一条拉取完整解决方案;第二条进入仓库根目录;第三条用 CMake 把 zlib 依赖分别编成 x64 和 ARM64 两个版本。之后打开 ExplorerPatcher.sln 构建整个解决方案——它由多个工程组成:ExplorerPatcher 注入 DLL、ep_gui 设置面板、ep_dwm 桌面组合服务、ep_startmenu 开始菜单模块等。
动手前先搞懂这三套设计
注入 explorer.exe 而非独立程序:EP 主体是个 DLL,只有被加载进外壳进程后才活着,任务栏还原全部靠 hook 进程内系统模块(hook 库在 libs/libvalinet/,已切换到 SlimDetours)。想脱离外壳单独运行它、或在没有 explorer 的环境里跑,任何功能都不会生效。
设置随注入读取,改动要等重启:ExplorerPatcher/dllmain.c 里有几十个全局开关(任务栏对齐、开始菜单样式、Alt+Tab 行为等),都在 DLL 注入时一次性读入。在「属性」面板改设置后需要 explorer.exe 重启才生效——这也是安装后桌面"闪一下又恢复正常"的原因。
兼容性由 Windows 构建号决定:每个版本的 CHANGELOG.md 开头都列着 "Tested on OS builds" 清单,因为 hook 目标是特定构建号下的系统私有函数。功能失效时先查你的系统构建号在不在清单里,再决定要不要反馈 issue。
另有一个扩展机制值得知道:在 C:\Windows 放一个 ep_extra.dll,EP 完成 hook 后会加载它并调用 ep_extra_EntryPoint 入口,详见下文示例。
一个例子看懂:给外壳注入自定义模块
目标:让自己的代码跑进 explorer.exe 进程,和 EP 本体一样参与外壳定制。
- 用仓库 ep_extra/ 里的链式加载器工程编出 ep_extra.dll;
- 把它和自研模块 ep_extra_yourmod.dll 一起放进 C:\Windows,模块需导出 setup 入口;
- 开机后 EP 先注入,链式加载器随即按文件名模式把各模块依次载入。
扫描加载的核心逻辑在 ep_extra/worker.c,只有三行:
wcscat_s(pattern, MAX_PATH, L"\\ep_extra_*.dll"); HMODULE hLib = LoadLibraryW(pattern); FARPROC proc = (FARPROC)(GetProcAddress(hLib, "setup"));第一行拼出 C:\Windows 下的扫描模式,后两行加载模块并取出 setup 入口——重启外壳后观察加载日志即可确认你的模块是否被命中。仓库里有个现成实例:ep_extra_valinet.win7alttab/ 还原 Windows 7 经典 Alt+Tab,它要求在 C:\Windows 额外放一份 Win7 系统的 AltTab.dll。
能力与边界:适合谁、不适合谁、常见坑 ⚠️
适合:
- 想把 Win11 的任务栏 / 开始菜单 / Alt+Tab 切回 Win10 风格的用户,这是它的主业;
- 想清理资源管理器界面的用户(隐藏搜索栏、缩小地址栏等开关都在「属性」面板里);
- 想给外壳进程注入自研代码、用 ep_extra 机制做扩展的开发者;
- 骁龙 ARM64 设备用户,官方提供 ARM64 安装包。
该换方案:
- 想要 Win7 风格的整体外壳界面,选 Open-Shell/Classic Shell——EP 只是"还原 Win10 风格",不会把系统改成 Win7;
- 需要深度调任务栏布局(透明、置顶、多屏独立任务栏)的,找 7+ Taskbar Tweaker 这类专精工具,EP 的任务栏选项以样式切换为主;
- 直接想装 Windows 10 的,无需此工具。
最常见的三个坑:
- Windows 大版本更新后功能会暂时失效,hook 绑定具体构建号,必须等新版 EP 跟上,changelog 的 Known issues 会主动列出已知故障;
- 注入代码崩溃 = 整个桌面闪没,EP 自身与劣质第三方 ep_extra 模块都可能触发,装扩展模块前先看它的构建号兼容表;
- 已记录的硬冲突:Win11 22H2/23H2 上启用新版 Win11 开始菜单时,同时使用 Win10 任务栏会让 explorer.exe 崩溃循环,二选一。
继续深入:出问题先查这三处
- CHANGELOG.md:每个版本的 "Tested on OS builds" 兼容清单与修复明细,功能不生效时先对表;
- ep_extra/README.md:ep_extra 扩展机制完整说明,写自研外壳模块从这里入手;
- ExplorerPatcher/dllmain.c:主注入入口,所有设置开关与 hook 注册都从这里展开,做二次开发先读它。
去项目 release 页下载 ep_setup.exe 双击运行,半分钟后你就能看到 Windows 10 任务栏出现在自己的桌面上。
【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考