ExplorerPatcher 卸载完整指南:6 步彻底卸载这个 Windows 定制工具,文件占用与注册表残留一次清干净
【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher
ExplorerPatcher 是一款开源的 Windows 界面定制工具:它把自家的 DLL 注入资源管理器进程 explorer.exe,再挂上几个系统钩子,接管任务栏、开始菜单、锁屏天气等界面的渲染。也正因为集成得深,ExplorerPatcher 卸载比普通软件费事——文件被进程锁住、注册表里留下尾巴,都是卸载时的高频麻烦。这篇指南按"先诊断、再动手"的思路展开:先弄清它把根扎在哪,再走 6 个环节把文件、注册表和服务清干净。
一、动手之前:先看懂它"扎"在系统的哪些位置
ExplorerPatcher 不是那种"删个文件夹就完事"的软件。看安装程序 ep_setup.c 的流程,一次完整安装做了四件事:
- 往
%ProgramData%\ExplorerPatcher复制一批 DLL 和安装器本体,其中ExplorerPatcher.amd64.dll(或 arm64 版本)会被 explorer.exe 加载; - 通过
sc注册/注销ep_dwm服务; - 用
regsvr32注册ep_weather_host.dll、ep_weather_host_stub.dll两个 COM 组件; - 往注册表写入卸载信息和用户配置。
这里有两个概念值得先用大白话过一遍:
- DLL 注入:把自家的动态库塞进资源管理器进程的内存里运行,相当于"车还在开,先换了引擎"。任务栏和开始菜单的画法因此被接管,只要资源管理器活着,这个库就处于加载状态。
- 系统钩子:在系统的消息与鼠标事件链上挂一个"拦截器",输入先经过它的回调再分发。StartMenu.c 里用
SetWindowsHookEx挂WH_GETMESSAGE,dllmain.c 里挂WH_MOUSE,都属于这一类。钩子本身随进程消亡,但它让"趁热卸载"这件事基本不可行。
结论先行:资源管理器进程不结束,核心文件就删不掉;卸载流程没走完,注册表里就有影子。后面所有症状都能归到这两条上。
症状速查表
遇到问题先对号入座,再跳去对应章节:
| 你看到的现象 | 大概率原因 | 处理位置 |
|---|---|---|
| 删除时提示"文件正在使用" | explorer.exe 锁着 DLL | 第四节「文件被占用,删不掉」 |
| 重装提示已安装、或直接失败 | 卸载注册表项还在 | 第四节「重装被拒:注册表残留」 |
| 安装、卸载过程中杀毒软件报警 | 注入 + 钩子行为触发启发式规则 | 第四节「杀毒软件反复报警」 |
| 卸载后任务栏、整个桌面消失 | explorer.exe 被结束且没重启 | 第六节「卸载后验证」 |
| 卸载完系统明显变慢 | 清理任务还没执行完 | 第六节「卸载后验证」 |
二、卸载前准备:先留后路,再关占用方
准备工作一共四项,做在一切操作之前:
- 创建系统还原点。控制面板搜索"创建还原点",新建一个并命名为"卸载 ExplorerPatcher 前"。官方卸载会删文件、动注册表、注销 COM,还原点是最后的安全网。
- 关掉任务栏"属性"对话框。这个窗口由
ep_gui.dll承载,开着的它本身就可能占着文件,官方安装程序的报错文案里也把"关闭并重新打开 Properties 对话框"列为首要排查项。 - 关闭依赖任务栏的第三方工具,比如录屏、窗口管理器之类。
- 准备一条管理员命令行。
ep_setup.c里检测到非管理员运行会自动用runas自我提权,但手工删目录、清注册表时,管理员身份能少走很多弯路。
三、官方卸载入口:三个地方都能发起,本质是同一条命令
三个入口最终都汇到ep_setup.exe /uninstall这一句,只是发起的位置不同。
图形界面:任务栏"属性"里的卸载选项卡
- 右键任务栏空白处,选"属性"。
- 切到"卸载"选项卡,确认执行。
这个对话框的安装期入口是rundll32.exe ...ep_gui.dll,ZZGUI形式的快捷方式(见 ep_setup.c 中SetupShortcut相关逻辑),点掉之后它内部调用的仍然是卸载程序加/uninstall参数。
控制面板:程序和功能
Win+R输入appwiz.cpl回车。- 在列表里找到 ExplorerPatcher,双击即可。
列表里这一行不是凭空出现的,而是安装时SetupUninstallEntry函数写进注册表的结果——在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下创建一个以{...}_ExplorerPatcher结尾的键,写入DisplayName、UninstallString等值。控制面板只是把这些值渲染出来。
命令行:最直接的入口
在管理员命令行中执行下面这条,会弹出确认框,点是:
ep_setup.exe /uninstall需要跳过确认框时使用静默参数:
ep_setup.exe /uninstall_silentep_setup.exe通常就在%ProgramData%\ExplorerPatcher目录下。源码里还有个冷知识:把该程序改名为ep_uninstall.exe再运行,也会直接走卸载分支(ep_setup.c 中WinMain的参数判断逻辑)。
无论走哪个入口,卸载程序收尾时会依次做:结束 explorer.exe、regsvr32 /u注销两个天气相关 DLL、sc delete掉ep_dwm服务、递归删除%ProgramData%\ExplorerPatcher目录,并通过 RunOnce 注册表值安排开机时删除%AppData%\ExplorerPatcher。
四、卸载失败时:按症状对症处理
文件被占用,删不掉怎么办
资源管理器进程一直锁着这些文件,explorer.exe 不结束,DLL 就动不了。处理顺序:
Ctrl+Shift+Esc打开任务管理器,找到"Windows 资源管理器",右键结束任务。桌面和任务栏随之消失,属正常现象。- 任务管理器中点"文件 → 运行新任务",勾选"以系统管理权限创建此任务",输入
cmd。 - 用下面这条命令删掉主目录:
rmdir /s /q "%ProgramData%\ExplorerPatcher"- 再把资源管理器拉回来:
start explorer.exe如果官方卸载程序自己报错、提示某类备份文件仍在使用(工程资源字符串里对此有专门说明),按它的建议来:先关属性对话框、重启 explorer,还不行就整机重启一次再执行卸载。
重装被拒:注册表残留清理位置
重新安装时提示"已安装"或静默失败,多半是注册表里的影子没清掉。打开regedit,按下面顺序核对:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{...}_ExplorerPatcher HKCU\Software\ExplorerPatcher HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce(检查是否有 ExplorerPatcherCleanup 值)第一项是SetupUninstallEntry写入的卸载信息,第二项存用户配置,第三项是官方卸载安排的那次清理任务。确认键名后再逐项删除,不要整支批量删;删完重启。
杀毒软件反复报警怎么处理
注入加钩子的行为特征和部分恶意软件重合,被启发式引擎盯上是常见现象,多数情况下属于误报。处理顺序:
- 报警恰好卡住卸载流程时:暂时关闭实时保护,跑完卸载再打开。
- 想继续正常使用的:把
%ProgramData%\ExplorerPatcher目录加入杀毒软件的排除项。 - 想验证真伪的:右键文件 → 属性 → 数字签名,确认签名状态;项目是开源的,注入与钩子相关的核心代码集中在 dllmain.c、hooking.h 和 StartMenu.c,可以自行通读确认。
五、深度清理:残留文件与注册表,一张清单核对完
走过官方卸载流程的,这一节当"对作业"用;手工删过文件的,按它当待办清单逐项勾掉。
文件侧
%ProgramData%\ExplorerPatcher\ 主目录,应包含并已随卸载删除: ExplorerPatcher.amd64.dll / .arm64.dll、ep_gui.dll、 ep_setup.exe、ep_weather_host.dll、 ep_weather_host_stub.dll、WebView2Loader.dll %AppData%\ExplorerPatcher\ 用户配置,官方卸载通过 RunOnce 任务删除在文件资源管理器地址栏分别输入这两个路径,确认目录不存在即可。
注册表与服务侧
HKLM\...\Uninstall\{...}_ExplorerPatcher 卸载信息键 HKCU\Software\ExplorerPatcher 用户配置 HKCU\...\RunOnce\ExplorerPatcherCleanup 清理任务值 服务:ep_dwm,可用 sc query ep_dwm 查看是否已注销 COM:ep_weather_host.dll、ep_weather_host_stub.dll,regsvr32 /u 注销启动项侧
HKCU与HKLM下的Run、RunOnce分支里找带 ExplorerPatcher 字样的值;开始菜单"启动"文件夹里的快捷方式(安装时由SetupShortcut创建)如果还在,一并删掉。
六、卸载后验证、遗留问题与重装注意事项
验证卸载是否干净
- 右键任务栏,菜单里已经没有"属性"一项;
- 两个目录路径下均无
ExplorerPatcher文件夹; - 整机重启一次,任务栏、开始菜单恢复原生表现;
- 若怀疑碰坏过系统文件,管理员命令行执行
sfc /scannow校验完整性。
高频问题,按症状归位
- 任务栏、桌面整个消失:explorer.exe 被结束却没被拉起来。任务管理器 → 运行新任务,输入
start explorer.exe;完全无响应时直接重启。 - 报警停不下来:先按第四节「杀毒软件反复报警」的顺序过一遍;若排除项已加、签名可验证却仍报警,换一家引擎交叉验证,通常能定位是哪一方的规则在误伤。
- 卸载完系统变慢:大概率是 RunOnce 清理任务还没执行,重启一次让它跑完;仍慢再跑
sfc /scannow。
还要重装的话
- 等清理任务跑完(重启后几分钟)再装;
- 用最新版安装程序,右键以管理员身份运行;
- 装完重启一次,确认任务栏功能生效。
最后两条可执行的提醒:动手前先留还原点;官方入口全部失败时,按"结束 explorer → 删目录 → 清注册表 → 重启"的顺序逐项推进,基本能覆盖所有卡点。
【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考