新闻详情

新闻详情

首页 / 资讯中心 / 详情

深入 Windows 传统右键菜单注册表模型:ContextMenu Manager Plus 如何实现 shell 与 shellex 菜单的启用/禁用

发布时间:2026/9/26 12:12:57来源:尧图网络
深入 Windows 传统右键菜单注册表模型:ContextMenu Manager Plus 如何实现 shell 与 shellex 菜单的启用/禁用
深入 Windows 传统右键菜单注册表模型ContextMenu Manager Plus 如何实现 shell 与 shellex 菜单的启用/禁用【免费下载链接】ContextMenuMgrContext Menu Manager Plus 是一个强大的实用程序它可帮助您管理 Windows 上的右键菜单并避免第三方向你的右键菜单里塞屎项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuMgr你是否曾右键一个文件却被十几个第三方软件塞进来的菜单项刷屏Context Menu Manager Plus 是一个 Windows 右键菜单管理工具它直接管理注册表中shell 与 shellex两类传统右键菜单项支持一键启用/禁用、第三方新增自动拦截审核、删除前备份与随时恢复让你自己决定右键菜单里留下什么。 先搞懂Windows 右键菜单藏在注册表里Windows 的右键菜单并不是存在某一个地方而是按对象类型分散在注册表的多个入口里。理解这一点是理解本工具工作原理的前提。右键菜单主要有两个载体载体注册表位置示例工作方式典型用途shell verbHKCR\*\shell\verb运行子键command里记录的命令行打开方式、编辑、用 XX 处理shellex handlerHKCR\*\shelext\ContextMenuHandlers\name默认值是一个 CLSID指向一个 COM 扩展 DLL第三方 Shell 扩展功能项目用枚举 ContextMenuEntryKind 把菜单项区分为ShellVerb和ShellExtension两种来源类型后续的扫描、开关、删除策略全部按类型分流。 注意HKCRHKEY_CLASSES_ROOT只是用户级 Classes 与机器级 Classes 的合并视图读着方便但写入时必须明确写到HKEY_USERS\SID\Software\Classes仅当前用户还是HKLM\SOFTWARE\Classes所有用户。 扫描范围ContextMenu Manager Plus 如何找到所有菜单项后端通过一张监控根清单 MonitoredRoots 定义扫描范围覆盖 10 大分类文件、所有文件系统对象、文件夹、目录背景、桌面背景、驱动器、库、此电脑、回收站等。每个分类都会扫描三个子路径见 ContextMenuSubRootRelativePathsshell—— 启用状态的 verb 菜单shelext\ContextMenuHandlers—— 启用状态的 handlershelext\-ContextMenuHandlers——禁用镜像位后面详解带连字符的停车场扫描得到的每一项都被建模为 ContextMenuEntry携带稳定 Id、注册表路径、命令文本、CLSID、启用状态、备份状态等字段再合并项目自己的状态库后返回给前端界面展示。完整的模型说明见官方文档 docs/registry-model.md。⚙️ 禁用 shell 菜单写一个可见性标记而不是删键对于shell类型的菜单项ContextMenu Manager Plus不会删除注册表键而是引入一个文档化的可见性控制值禁用在 verb 键上写入名为ProgrammaticAccessOnly的空字符串值见 ShellVerbVisibility.SetEnabled。Explorer 看到这个值就会隐藏菜单项但程序仍可通过显式指定 verb 调用该命令不影响系统行为。启用删除这个标记值菜单项恢复显示。启用状态的判断ShellVerbVisibility.GetState会同时检查三个来源ProgrammaticAccessOnly本工具写入、LegacyDisable、HideBasedOnVelocityId。后两者属于第三方或系统遗留标记只参与只读可见性判断不会被普通开关盲删。几个安全细节首次禁用前会保存该值原有的存在性与精确数据provenance重复禁用不覆盖启用时只恢复自己保存过的值不会顺手删掉第三方写的值。CommandFlags属于EXPCMDFLAGS与开关无关普通操作永不改写。️ 禁用 shellex 菜单把键搬到禁用镜像位shellexhandler 的禁用思路完全不同——移动键而不是改值状态物理位置启用root\shelext\ContextMenuHandlers\name禁用root\shelext\-ContextMenuHandlers\name两个位置共享同一个稳定 Id启用/禁用就是把键在这两个容器之间来回移动移动前后都会重新打开物理键校验 CLSID 一致。这种方式不触碰扩展 DLL 本身、无需注销重新启用也只是搬回去。当同一个 handler 在启用位和禁用位同时存在例如第三方软件又写了一份时后端会读取两侧键的最后写入时间以较新一侧为事实并自动清理较旧一侧若 HKLM 与用户级存在多个物理副本则所有副本一起移动并逐一验证详见 docs/registry-model.md 第 10.5 节。️ 事务与校验保证每次注册表修改可靠一次普通的开关操作在 ContextMenuRegistryCatalog 中走的是物理路径级事务写入前捕获本次会改变的值的类型、精确数据和注册表代际指纹执行写入关闭句柄后重新打开同一物理键做读回验证通过逻辑/物理一致性核对后才提交到状态库 ContextMenuStateStore任一步失败则乐观回滚仅当当前值仍等于本事务写入值时才恢复原值若第三方已改成别的内容则保留第三方结果并返回冲突码绝不覆盖。状态库保存的是上一次已确认状态 用户开关意图 待审核状态 删除恢复记录而不是注册表副本。 拦截与审核第三方新增的菜单先禁用再问你ContextMenu Manager Plus 的监控器ContextMenuRegistryMonitor基于周期性快照比较发现变化核心规则非常克制场景行为软件运行期间出现未知菜单项立即禁用并写入状态库进入待审核队列由用户决定去留已知项在相邻稳定快照中从关变开静默重新关闭你之前明确关掉的软件停止期间出现的新项重启后发现只标记为 Added 展示不自动禁用等待用户确认已知项开关在离线期间变化保留当前注册表状态标记 Modified 等用户确认也就是说运行时拦截新入侵离线时只汇报不擅动——这是拦截 → 审核 → 用户裁决设计的关键。️ 删除与恢复先备份再动手删除菜单项前RegistryBackupService 会先用reg.exe export导出.reg备份保存到DeletedBackups目录然后才删除真实注册表项并记录删除状态。恢复时通过备份导入还原让误删可回滚。Portable 版还会按机器指纹隔离备份防止把 A 电脑的备份恢复到 B 电脑上。 一句话总结菜单类型禁用手段恢复手段shell verb写入ProgrammaticAccessOnly可见性标记删除该标记shelext handler把键移到-ContextMenuHandlers禁用镜像位把键移回启用位两种手段都做到可逆、可验证、可回滚再配合事务校验、审核队列和.reg备份ContextMenu Manager Plus 把一个高风险的注册表操作变成了普通用户也能安心点击的开关。想深入源码细节推荐从 docs/registry-model.md 和 ContextMenuMgr.Backend/Services/ 目录读起。【免费下载链接】ContextMenuMgrContext Menu Manager Plus 是一个强大的实用程序它可帮助您管理 Windows 上的右键菜单并避免第三方向你的右键菜单里塞屎项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuMgr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

C语言高频踩坑点全解析:字符串、指针、内存与环境配置 2026/9/26 17:52:04

C语言高频踩坑点全解析:字符串、指针、内存与环境配置

网上关于C语言基础的内容多到看不完,但你真正去翻搜索记录和提问区,会发现大家卡住的地方其实高度一致:字符串处理、指针、内存、结构体、vscode里代码跑不起来、scanf缓冲区残留、冒泡排序写不对……翻来覆去就是这几个点,没什么…

阅读更多 →
AI时代产教融合怎么落地?工业软件+数智人才培养全流程拆解 2026/9/26 17:52:04

AI时代产教融合怎么落地?工业软件+数智人才培养全流程拆解

产教融合这个词,喊了很多年,但真正把“产”和“教”捏到一块儿,捏出实感的项目其实不多。我这两年深度参与过几条产教融合的线,最深的体会是:很多合作停在“挂牌、签约、拍合影”的阶段,课程还是那套课程&a…

阅读更多 →
LabVIEW下PXI与反射内存实现2.125Gbps实时通讯实战解析 2026/9/26 17:52:04

LabVIEW下PXI与反射内存实现2.125Gbps实时通讯实战解析

做PXI系统集成的工程师,迟早会遇到一个绕不开的问题:两个乃至多个机箱之间的数据交换,怎么才能做到既快又稳。试过TCP/IP,延迟抖动大到没法看;试过UDP,丢包又让人头疼;用共享内存,分…

阅读更多 →
LoadRunner性能测试高频问题实战指南:从脚本录制到结果分析 2026/9/26 17:52:04

LoadRunner性能测试高频问题实战指南:从脚本录制到结果分析

做性能测试的圈子里,LoadRunner这个名字几乎人人都听过。老牌、功能全、企业级项目里出镜率极高,但它也是出了名的“坑多”。我做性能测试这些年,见过太多同事在脚本录制、场景配置、结果分析这几个环节反复栽跟头,有些问题我自己…

阅读更多 →
agent-native智能体原生架构:从概念到工程实战的完整指南 2026/9/26 17:52:04

agent-native智能体原生架构:从概念到工程实战的完整指南

“agent-native”这个词,最近高频出现在各种技术分享和产品发布里,翻译过来就是“智能体原生”。它的含义不是简单地把大模型接到某个应用上,而是指一套系统从最底层就把智能体当作头等公民来设计:感知环境、做计划、调工具、自我…

阅读更多 →
2026年专科生AI论文工具测评:9款软件横向对比与写作实操指南 2026/9/26 17:51:58

2026年专科生AI论文工具测评:9款软件横向对比与写作实操指南

专科生的毕业论文,说实话,是大学三年里最磨人的一道坎。选题不会选、文献翻不到、查重反复红、格式改了八百遍还是被导师打回来。这两年AI论文工具火得不行,我身边很多学弟学妹都在用,但用对的和用错的,差距非常大——…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉