☰
Context Menu Manager Plus特殊菜单管理详解:新建、发送到、Win+X与打开方式完整指南
2026/9/28 21:23:20 网站建设 项目流程

Context Menu Manager Plus特殊菜单管理详解:新建、发送到、Win+X与打开方式完整指南

【免费下载链接】ContextMenuMgrContext Menu Manager Plus 是一个强大的实用程序,它可帮助您管理 Windows 上的右键菜单,并避免第三方向你的右键菜单里塞屎项目地址: https://gitcode.com/PLFJY/ContextMenuMgr

Context Menu Manager Plus(ContextMenuMgr)是一款强大的 Windows 右键菜单管理工具,除了管理传统右键菜单,它还提供专门的特殊菜单管理模块:一键管理“新建”(ShellNew)、“发送到”(SendTo)、“Win+X”快捷菜单和“打开方式”(OpenWith)四大高频菜单场景,帮你彻底告别第三方软件乱塞菜单项的烦恼。

一、为什么“特殊菜单”需要单独管理? 🤔

Windows 的右键世界不只是shell\verb 那么简单。有些菜单面不走传统的注册表模型,用普通开关逻辑处理不了:

特殊菜单数据来源为什么特殊
新建(ShellNew)Software\Classes\<.ext>\ShellNew+ Explorer 排序键还受排序值影响
发送到(SendTo)用户目录%APPDATA%\Microsoft\Windows\SendTo是文件目录,不是注册表
Win+X%LOCALAPPDATA%\Microsoft\Windows\WinX包含分组、.lnk文件和 hash
打开方式(OpenWith)Applications\<app>\shell\<verb>\command+ 策略值不是普通文件类型 verb

完整的技术原理可以阅读官方文档 docs/special-menus.md,菜单类型的枚举定义在 ContextMenuMgr.Contracts/SpecialMenuContracts.cs。

二、新建(ShellNew)菜单管理:排序与锁定一步到位 ✨

右键空白处看到的“文本文档”“PNG 图片”等新建项,就是 ShellNew 项。ContextMenu Manager Plus 对它的管理能力非常完整:

  • 创建 / 编辑 / 删除:填写扩展名、显示名、图标、命令或数据文本即可新增新建项;
  • 排序:配合“锁定新建菜单并启用排序功能”开关,可对现有新建项上下移动排序,同时阻止第三方程序偷偷注入新的新建项(例如 WPS 注入的.pdfwpsshellnew);
  • 只读保护:由已安装应用包(AppX/MSIX)声明的新建项会显示“应用提供 · 只读”,因为 Windows 没有提供可安全修改的公开开关,工具不会强行修改它。

💡 关闭排序锁后会恢复初始排序;锁的底层实现是对 Explorer ShellNew order key 做精确的 ACL 保护,而非粗暴的全局写保护。

后端核心逻辑位于 ContextMenuMgr.Backend/Services/SpecialMenuService.cs。

三、发送到(SendTo)管理:目录式菜单的安全增删 📂

“发送到”菜单本质上是当前用户 RoamingAppData 下的一个目录,工具通过 ContextMenuMgr.Backend/Services/BackendUserContext.cs 精准定位到%APPDATA%\Microsoft\Windows\SendTo,并支持:

  • 新增快捷方式:指定显示名、目标路径、参数和工作目录;
  • 软删除与恢复:删除走.deleted机制,误删可一键恢复,而不是直接物理删除;
  • 编辑.lnk:可更新目标、参数、图标、是否以管理员运行;
  • 动态目标识别:插入 U 盘等可移动磁盘时,Explorer 动态生成的“发送到磁盘”项会被标记为系统生成项,禁止误操作。

四、Win+X 菜单管理:分组、排序与 hash 全自动 🖱️

Win+X 是 Windows 最容易被“魔改”的菜单之一。管理要点包括:

  1. 分组管理:以 group 目录组织菜单项,支持创建自定义分组;
  2. 快捷方式创建:通过原生IShellLinkW接口写入目标、参数、工作目录和图标,并由 ContextMenuMgr.Backend/Services/WinXHasher.cs 自动计算 Explorer 认可的 WinX hash——手动加.lnk却不写 hash,Windows 是不认的;
  3. 排序:上移/下移只重命名.lnk前缀和本地化名称,不破坏 hash;
  4. 恢复默认:禁止整目录恢复,只允许按分组恢复(恢复前自动备份现有分组)。

⚠️兼容性提示:新版 Windows 可能会拒绝显示新添加的自定义 Win+X 项。如果项目在本工具中可见但重启资源管理器后仍不出现,属于 Windows 系统限制,并非工具故障。

五、打开方式(OpenWith)管理:清理应用注册表 🧹

“打开方式”子菜单里那些应用是从哪来的?它们注册在用户/机器的Classes\Applications下。ContextMenu Manager Plus 帮你:

  • 枚举已注册应用:自动解析FriendlyAppName或目标文件的描述作为显示名;
  • 启用 / 禁用:通过写入或删除NoOpenWith值实现;
  • 新增 / 编辑:为指定 exe 注册到“打开方式”并自定义显示名;
  • 商店入口开关:同步 HKLM 与当前用户的NoUseStoreOpenWith策略值。

所有用户级写入都会精确定位到HKEY_USERS\<SID>,避免服务账户上下文写错位置的经典坑。

六、在界面与源码中的位置 📍

这四个特殊菜单页面在左侧导航栏的“目录”分组下,导航项定义见 ContextMenuMgr.Frontend/MainWindow.xaml,页面视图类定义在 ContextMenuMgr.Frontend/Views/Pages/NavigationPages.cs:

模块关键文件
前端页面视图ContextMenuMgr.Frontend/Views/SpecialMenuPageView.xaml
页面 ViewModelContextMenuMgr.Frontend/ViewModels/SpecialMenuPageViewModel.cs
后端服务ContextMenuMgr.Backend/Services/SpecialMenuService.cs
契约与请求模型ContextMenuMgr.Contracts/SpecialMenuContracts.cs

除了这四大页面,**“其他规则”**页还提供了右键拖拽(默认拖放效果:复制/移动/创建链接)、公共引用(CommandStore)、GUID 锁和 IE 菜单等进阶能力,入口见 ContextMenuMgr.Frontend/ViewModels/OtherRulesPageViewModel.cs。

七、常见问题 FAQ ❓

  • 排序锁失败一定是权限不够吗?不一定。ACL 拒绝规则、所有者、继承状态都可能影响操作,此时建议先用外部工具修复 ACL 再重试,工具不会私自接管所有权。
  • SendTo / Win+X 能用注册表编辑器改吗?不建议。它们主要是用户文件系统目录,用本工具操作更安全且支持恢复。
  • WPS 和 Office 共存时新建菜单乱入?工具会以“待审核”方式检测 WPS 注入的 ShellNew 项和图标覆盖,由你决定是否保留,而不是自动删除。

掌握以上四个特殊菜单管理页面,你就能把 Windows 的右键体验真正握在自己手中 🚀

【免费下载链接】ContextMenuMgrContext Menu Manager Plus 是一个强大的实用程序,它可帮助您管理 Windows 上的右键菜单,并避免第三方向你的右键菜单里塞屎项目地址: https://gitcode.com/PLFJY/ContextMenuMgr

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询