news 2026/10/30 1:59:31

ContextMenuManager:七类右键场景一次接管,关掉的菜单项一分钟找回

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ContextMenuManager:七类右键场景一次接管,关掉的菜单项一分钟找回

ContextMenuManager:七类右键场景一次接管,关掉的菜单项一分钟找回

【免费下载链接】ContextMenuManager🖱️ 纯粹的Windows右键菜单管理程序项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager

软件越装越多,文件右键菜单被第三方条目塞满,常用项沉到了最后几页。ContextMenuManager 是一款 Windows 右键菜单管理工具,把翻不完的菜单收敛成一张带开关的清单。

📥 安装与版本选择

  1. 下载最新版本的 zip 包,解压到任意目录即可,无需安装。
  2. 按系统选 .NET 版本:Win7 选 3.5 版,Win8/8.1/10 选 4.0 版(Vista 需自行安装对应 .NET Framework 运行库)。
  3. 直接运行 exe,左侧默认选中"文件"场景,右侧即当前菜单项清单。
  4. 配置、备份统一存放在程序目录下的 Config 文件夹,随绿色包一起移动。

🗂️ 覆盖范围:它管的是哪些右键入口

左侧栏列出了程序接管的全部入口:文件、文件夹、目录、桌面背景、磁盘分区、所有对象、此电脑、回收站、库,以及新建、发送到、打开方式和 Win+X,共 7 个一级场景。每一项都能调显隐、名称、图标和执行命令,还能直接打开它对应的注册表键或本地文件位置。

场景支持的操作典型使用意图
文件、文件夹、目录启用禁用、改名、换图标、子菜单编辑清掉第三方塞进来的冗余条目
目录背景、桌面背景、磁盘分区、所有对象、此电脑、回收站、库启用禁用、注册表定位清理桌面与驱动器右键杂项
新建启用禁用、新建条目精简右键"新建"列表
发送到新增快捷方式、恢复默认挂载常用脚本和工具
打开方式启用禁用、新增条目整理"打开方式"里的程序
Win+X启用禁用、分组、排序定制开始菜单快捷方式

🎯 任务一:把文件右键里的冗余项批量关掉

目标:把文件右键菜单里不想要的条目批量禁用,菜单立刻变短。

操作步骤:

  1. 进入"文件"场景,右侧列出当前全部菜单项,每项右侧一个开关。
  2. 逐个关闭不想保留的项,程序对注册表写入系统预留的隐藏键值,不删除任何数据。
  3. 某项状态与实际不符时,点工具栏"刷新"重新扫描菜单状态。

预期结果:关掉开关后回到桌面右键,对应条目立即消失;重新打开开关即可恢复,无需重启资源管理器。

🎯 任务二:给"发送到"加一个自定义入口

目标:让一个本地脚本或 exe 出现在"发送到"菜单里。

操作步骤:

  1. 进入"发送到"场景,点列表顶部的"新建一个菜单项目"。
  2. 指定目标文件,支持 exe、bat、cmd、vbs、js、wsf 等格式。
  3. 填写菜单显示名称和启动参数,确定后程序在 SendTo 目录生成 .lnk 快捷方式。

预期结果:列表立刻出现新条目,右键任意对象选"发送到"就能看到它。

🛡️ 安全边界与回退路径

如果你关错了开关,重新打开一次即可。禁用只是写入系统预留的隐藏标记,原始注册表数据一个字节都没动,所以右键菜单里消失的条目随时都能回来,不需要重启资源管理器。

如果你误执行了永久删除,先确认设置里已打开自动备份。删除前程序会把该注册表键导出为 .reg 文件,存到 Config\Backup 下按日期命名的文件夹;删错了就按日期找到对应文件,双击导入注册表即可还原。

如果手伸向"打开"这类关键项,程序默认开着保护:动手前弹窗确认,误关关键项会立刻提醒你,而不是无声执行。这层保护可以在设置里关掉,但新手不建议关。

🔍 源码入口

最核心的逻辑在 ContextMenuManager/Controls/ShellItem.cs,ItemVisible属性承载了开关的全部动作,改显隐、读名称、取图标都在这个类里。

ContextMenuManager/Controls/Interfaces/ 下的 16 个接口定义了所有场景共用的标准动作:显隐、删除、注册表导出、注册表定位、文件定位,文件、发送到、Win+X 的菜单项类都实现同一批接口,行为因此保持一致。

ContextMenuManager/Methods/AppConfig.cs 定义了 Config、Backup、Languages 等目录的生成逻辑,想弄清备份落在哪里,看这里就够了。

开关背后的实现,说白了就是给注册表项写入或清除两个隐藏标记:

// ShellItem.ItemVisible:禁用写入隐藏标记,启用清除标记,不删除数据 if (value) { RegistryEx.DeleteValue(RegPath, "HideBasedOnVelocityId"); RegistryEx.DeleteValue(RegPath, "LegacyDisable"); } else { Registry.SetValue(RegPath, "HideBasedOnVelocityId", 0x639bc8); Registry.SetValue(RegPath, "LegacyDisable", ""); }

这就是全部核心逻辑:写入标记,菜单隐藏;清除标记,菜单回来。

⚠️ 三个高频坑

坑 1:删错项想找回场景:执行了永久删除,条目从列表消失。 原因:默认不会自动备份,删了就只剩注册表历史里找。 解法:平时在设置里打开自动备份,删除前程序会先导出 .reg 到 Backup 目录,删错就按日期找到备份文件双击导入还原。

坑 2:和别的右键管理工具混用场景:之前用过其他工具隐藏过菜单项,换到本程序后发现那些项不见了。 原因:各工具的禁用原理不同,别家隐藏的项在这里读不到。 解法:先用原工具把那些项还原,再统一用本程序管理。

坑 3:显示"启用",菜单里却看不到场景:列表里开关是开的,右键菜单却没有对应条目。 原因:部分特殊项受系统其他因素影响,不直接显示。 解法:这是正常现象,按程序通用规则该项仍算启用,不必处理。

程序需要对注册表做大量读写,Windows Defender 等杀毒软件可能误报;遇到报警,把它加入白名单即可。

菜单被塞满的时候用它:多个场景要一起管、还想添加自定义项,它一张清单全搞定。只想处理一两个残留的话,手工打开注册表编辑器也够。

【免费下载链接】ContextMenuManager🖱️ 纯粹的Windows右键菜单管理程序项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 1:56:19

SAP S/4HANA S4520采购模块教材拆解与配置避坑指南

简介:《中文版-SAP-S4-HANA-S4520》是一份面向SAP应用顾问、项目经理及最终用户的中文采购教程,聚焦S4 HANA环境下从采购主数据维护到复杂流程优化的核心操作,适合希望系统梳理MM采购模块知识、提升日常配置与业务处理能力的学习者。整套资料…

作者头像 李华
网站建设 2026/10/30 1:54:43

【芳芯科技】基于STM32单片机甲醛浓度检测系统

实物效果图:实现功能:1.采用STM32单片机作为主控核心。2.该设备可以检测甲醛浓度,并通过显示屏进行显示。3.设置阈值,测试结果超出阈值进行报警。4.阈值可以按键手动修改。5.浓度越高,蜂鸣器报警越急促。原理图&#x…

作者头像 李华
网站建设 2026/10/30 1:52:28

【WebSocket】如何监控 WebSocket 服务的连接数、消息吞吐量和延迟?

WebSocket 监控实战:直播互动弹幕系统的全链路可观测架构 用户问题原文:如何监控 WebSocket 服务的连接数、消息吞吐量和延迟? 在构建直播互动弹幕系统时,我们曾因缺乏有效的监控导致无法及时发现连接泄漏问题,单机连接数从正常的 20,000 暴涨到 80,000,最终引发内存溢出…

作者头像 李华
网站建设 2026/10/30 1:50:43

IPC_LOG + DYN_DEBUG + PRINTK

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/30 1:49:54

Django + MySQL + Redis + Docker + Nginx 生产部署笔记

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华