ContextMenuManager:七类右键场景一次接管,关掉的菜单项一分钟找回
【免费下载链接】ContextMenuManager🖱️ 纯粹的Windows右键菜单管理程序项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager
软件越装越多,文件右键菜单被第三方条目塞满,常用项沉到了最后几页。ContextMenuManager 是一款 Windows 右键菜单管理工具,把翻不完的菜单收敛成一张带开关的清单。
📥 安装与版本选择
- 下载最新版本的 zip 包,解压到任意目录即可,无需安装。
- 按系统选 .NET 版本:Win7 选 3.5 版,Win8/8.1/10 选 4.0 版(Vista 需自行安装对应 .NET Framework 运行库)。
- 直接运行 exe,左侧默认选中"文件"场景,右侧即当前菜单项清单。
- 配置、备份统一存放在程序目录下的 Config 文件夹,随绿色包一起移动。
🗂️ 覆盖范围:它管的是哪些右键入口
左侧栏列出了程序接管的全部入口:文件、文件夹、目录、桌面背景、磁盘分区、所有对象、此电脑、回收站、库,以及新建、发送到、打开方式和 Win+X,共 7 个一级场景。每一项都能调显隐、名称、图标和执行命令,还能直接打开它对应的注册表键或本地文件位置。
| 场景 | 支持的操作 | 典型使用意图 |
|---|---|---|
| 文件、文件夹、目录 | 启用禁用、改名、换图标、子菜单编辑 | 清掉第三方塞进来的冗余条目 |
| 目录背景、桌面背景、磁盘分区、所有对象、此电脑、回收站、库 | 启用禁用、注册表定位 | 清理桌面与驱动器右键杂项 |
| 新建 | 启用禁用、新建条目 | 精简右键"新建"列表 |
| 发送到 | 新增快捷方式、恢复默认 | 挂载常用脚本和工具 |
| 打开方式 | 启用禁用、新增条目 | 整理"打开方式"里的程序 |
| Win+X | 启用禁用、分组、排序 | 定制开始菜单快捷方式 |
🎯 任务一:把文件右键里的冗余项批量关掉
目标:把文件右键菜单里不想要的条目批量禁用,菜单立刻变短。
操作步骤:
- 进入"文件"场景,右侧列出当前全部菜单项,每项右侧一个开关。
- 逐个关闭不想保留的项,程序对注册表写入系统预留的隐藏键值,不删除任何数据。
- 某项状态与实际不符时,点工具栏"刷新"重新扫描菜单状态。
预期结果:关掉开关后回到桌面右键,对应条目立即消失;重新打开开关即可恢复,无需重启资源管理器。
🎯 任务二:给"发送到"加一个自定义入口
目标:让一个本地脚本或 exe 出现在"发送到"菜单里。
操作步骤:
- 进入"发送到"场景,点列表顶部的"新建一个菜单项目"。
- 指定目标文件,支持 exe、bat、cmd、vbs、js、wsf 等格式。
- 填写菜单显示名称和启动参数,确定后程序在 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),仅供参考