ExplorerPatcher在Win11 22631上Win+X失效:3步修复指南

📅 发布时间:2026/9/2 22:53:32
ExplorerPatcher在Win11 22631上Win+X失效:3步修复指南
ExplorerPatcher在Win11 22631上WinX失效3步修复指南【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher装了 ExplorerPatcher 的 Windows 1122631 系构建上按 WinX 弹不出电源用户菜单任务栏偶尔跟着卡一下——根因是新构建改了系统菜单的内部结构EP 的钩子没跟上。赶时间的话读完前两节就能动手。一、症状速览WinX没反应长什么样一句话Windows 11 22631 及以上构建 已安装 ExplorerPatcher按 WinX 无菜单弹出部分机器 explorer.exe 自动重启。现象清单按 WinX 完全没反应或菜单闪现一下立刻消失右键开始按钮同一条菜单链路同样失效任务栏偶尔消失又回来任务管理器里能看到 explorer.exe 进程重建临时禁用 EP 后WinX 恢复系统原生行为禁用方法见第六节二、先救火最快恢复方案见效最快的办法把 ExplorerPatcher 升到匹配你构建号的 release。按WinR输入winver记下构建号例如22631.5335去仓库 Release 列表挑同主号的版本安装CHANGELOG.md 里注明 22621 与 22631 共用同一套系统文件所以 22621 标号的 release 也能跑在 22631 上注销或重启一次让 EP 重新注入 explorer全程不碰代码装完就能用。三、判定确认如何确认你踩的是同一个坑三条依据满足前两条基本可以锁定时间点对得上系统大更新进入 22631/26100 系之前 WinX 一直正常更新完当天开始失效失效范围只有这一条链路任务栏居中、开始菜单改造等其它 EP 功能都正常说明是单点钩子没对上不是 EP 整体挂了进程有异常任务管理器里 explorer.exe 反复重建或事件查看器里有 explorer 崩溃记录。四、根因深挖失效链条对照WinX 菜单不是 EP 自己画的它属于系统文件twinui.pcshell.dll里的CLauncherTipContextMenu。EP 的做法是在这个对象创建时替换它函数表里的第 3 个槽位也就是显示菜单那个槽换成自己的实现void** vtable *(void***)pLTCM; REPLACE_VTABLE_ENTRY(vtable, 3, CLauncherTipContextMenu_ShowLauncherTipContextMenu);来自 ExplorerPatcher/TwinUIPatches.cpp 第495-496行菜单弹出位置由 EP 自己算先取光标位置再找任务栏所在显示器决定菜单贴哪个角贴右时直接取屏幕右边界坐标GetCursorPos(ptCursor); HWND hWnd GetMonitorInfoFromPointForTaskbarFlyoutActivation( ptCursor, MONITOR_DEFAULTTOPRIMARY, mi); ... if (bToRight) { point.x mi.rcMonitor.right; }来自 ExplorerPatcher/dllmain.c 第300-324行GetDefaultWinXPosition定义在第292行新构建里微软调整了twinui.pcshell.dll的内部结构EP 按旧结构去找显示菜单相关函数时就落空了。CHANGELOG.md 里 22621.2361.58 条目记的正是这个按回退方法找不到twinui.pcshell.dll里 WinX 用的必需函数时explorer.exe 直接崩溃更早的 22000.778.47 条目还修过Win-X 菜单不显示、可能锁死 shell的同类 bug。链条串起来就是构建更新 → 内部结构变化 → 槽位/函数落空 → 菜单不显示或 explorer 崩溃。五、完整修复最小改动方案分步实施方案A推荐升级到匹配构建的 release。winver记下构建号挑同主号的 release 安装没有对应主号就用 22621 标号依据见第二节注销或重启重新注入后按第六节验证方案B源码自建想跟进上游最新修复时用。克隆仓库git clone https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher在仓库根目录运行 BuildDependenciesRelease.bat 拉取依赖用 Visual Studio 打开 ExplorerPatcher.sln编译 Release跑一遍构建产物里的安装程序ep_setup六、回归与兜底验证动作和回退开关验证动作按 WinX菜单贴任务栏角出现设备管理器、终端、电源等条目逐个点一遍右键开始按钮结果一致光标移到副屏再按 WinX菜单应出现在副屏对应角落这正是第四节位置计算那段在干的事重启一次确认功能不丢⚠️ 兜底开关修完仍失效就临时关掉 WinX 菜单增强。EP 每次启动都会读PropertiesInWinX这个开关关掉它EP 就不再动这条菜单RegQueryValueExW( hKey, TEXT(PropertiesInWinX), 0, NULL, bPropertiesInWinX, dwSize );来自 ExplorerPatcher/dllmain.c 第6052-6059行还不行就直接卸载 ExplorerPatcher系统完整恢复原生行为。七、收尾WinX 失效本质是新构建改了系统菜单结构、EP 钩子没跟上跟着构建号挑对版本即可修复。各构建的修复明细看 CHANGELOG.md想帮忙翻译可以看 ExplorerPatcher-L10N/。【免费下载链接】ExplorerPatcherThis project aims to enhance the working environment on Windows项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考