Windows11新版默认的右键菜单不喜欢?教你一键切换经典菜单,MenuGo正式版发布

图片[1]-Windows11新版默认的右键菜单不喜欢?教你一键切换经典菜单,MenuGo正式版发布-聆曦博客

我日常同时使用 Windows、macOS、Linux 多平台。升级 Win11 之后,默认的新版右键菜单一直用不习惯。网上不少教程都是通过修改注册表来切回 Win10 经典右键菜单,操作本身不难,照着步骤就能完成。
但我录制教程时,需要在新旧两种右键菜单之间频繁来回切换,反复改注册表、导入 reg 文件十分麻烦,不是长久方案。恰逢近期在学习 Rust,干脆动手开发了 MenuGo,一键完成切换。

  • 🖱️ 一键切换经典(Win10 风格)与默认 Win11 右键菜单——当前状态就是开关,没有确认弹窗
  • 🖥️ 跟手启动——窗口打开在鼠标所在的显示器上,不再固定出现在主屏
  • 🧹 内置「清除缓存」——一键删除用户目录中的设置与缓存文件,被占用的文件会在下次启动时自动清除
  • 🔁 内置资源管理器重启:先结束 shell,先等 Winlogon 把它恢复回来,只有在没恢复时才启动 %WINDIR%\explorer.exe 作为后备,并在宣布成功之前确认桌面(Shell_TrayWnd)真的回来了
  • 👥 应用到所有用户(可选,需要管理员权限)
  • 🪶 体积小巧:原生 Rust 后端 + 原生 JS 前端(无打包器、无框架),用 Tauri 2 打包——exe 只有几 MB,使用的还是 Windows 11 自带的 WebView2
  • 🌍 10 种界面语言,自动检测:English、简体中文、繁體中文、日本語、한국어、Deutsch、Français、Español、Русский、Türkçe
  • 🌓 浅色 / 深色 / 跟随系统主题,并通过 DWM 同步原生标题栏颜色
  • 🧳 便携模式:在 exe 旁边放一个空的 portable.flag,设置就会保存在它旁边的 settings.ini 里(而不是 %APPDATA%\MenuGo)
  • ⌨️ 支持命令行,方便脚本和自动化(MenuGo.exe /C /R)
  • 🧭 边界状态直接内建在界面里:未以管理员身份运行、不是 Windows 11、不支持任务栏置顶——你直接看得到,而不用去解读错误弹窗

从 Releases 页面获取最新版本,直接运行即可——不用走安装程序那一套流程,也没有任何依赖要装。

  1. 启动 MenuGo。它会显示当前生效的菜单样式。
  2. 点击经典或默认进行切换。此时会出现一条“待重启”提示栏。
  3. 点击提示栏上的重启资源管理器——或者在快速设置浮层里开启切换后自动重启,从此再也不用惦记这件事。

次要选项(应用到所有用户、自动隐藏任务栏、任务栏置顶、外观、语言、清除缓存)位于右上角按钮背后的浮层里;“关于 / 捐赠 / 博客 / GitHub”链接则在底部工具栏上。

键盘快捷键

按键功能
F5刷新状态
F1关于
Esc关闭浮层
Alt+C / Alt+D切换到经典 / 默认

命令行

MenuGo.exe /C     :: 切换到经典菜单
MenuGo.exe /D     :: 切换到默认菜单
MenuGo.exe /R     :: 重启资源管理器(失败时退出码为 1)
MenuGo.exe /?     :: 帮助
组合使用:MenuGo.exe /C /R 一步完成切换到经典菜单并重启资源管理器。

没有任何魔法——整个工具归结起来就是下面这几个注册表操作,你可以自己逐一验证:

操作注册表
经典菜单创建 HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32,默认 REG_SZ 值留空
默认菜单删除上述 CLSID 键
所有用户在 HKEY_USERS\<SID>\Software\Classes\CLSID\... 下执行相同操作(需要提升权限)
任务栏HKCU\...\Explorer\StuckRects3\Settings(REG_BINARY,第 8 字节 = 自动隐藏,第 12 字节 = 位置)
版本检查Windows 11 = CurrentBuild >= 22000(Win11 上 ProductName 仍然写着 “Windows 10″,因此不采用)

注意:任务栏位置选项只在早期的 Windows 11 版本上有效——微软在后来的版本中移除了这项能力。保留它是为了兼容旧版本。

环境要求:Node.js、Rust 工具链(stable-msvc)、Windows 11。

npm install
npm run dev      # 开发(tauri dev)
npm run build    # 生产构建(tauri build)
src/                        前端(原生 ESM,无打包器)
  index.html                窗口标记 + 内联 SVG 图标
  styles.css                浅色/深色/跟随系统主题、卡片、浮层、开关
  main.js                   状态编排与事件绑定
  modules/api.js            Tauri IPC 封装 + 外部链接常量
  modules/i18n.js           语言字典 + 区域设置解析
  modules/ui.js             渲染 / 主题 / 浮层 / 对话框
src-tauri/
  src/main.rs               CLI 分发(/C /D /R /?,无窗口)
  src/lib.rs                AppState + Builder
  src/cli.rs                CLI 解析
  src/commands.rs           所有 #[tauri::command] 处理函数
  src/registry.rs           注册表读写(唯一访问入口)
  src/system.rs             重启资源管理器 / 打开 shell / 提权检查
  src/cleanup.rs            用户目录清理(设置 + WebView 缓存)
  src/shell.rs              任务栏窗口探测(user32 FFI,重启验证)
  src/titlebar.rs           DWM 标题栏着色(dwmapi FFI)
  src/config.rs             INI 设置持久化
  src/models.rs             DTO
  tauri.conf.json           固定 540x320 窗口(resizable / maximizable = false)
  capabilities/default.json 权限
  • 仅支持 Windows 11(内部版本 ≥ 22000);其他版本会收到一条友好提示。
  • “应用到所有用户”会写入 HKEY_USERS,需要以管理员身份运行 MenuGo。
  • MenuGo 只会触碰工作原理中列出的注册表项——其他一概不碰。

欢迎提交 Bug 反馈、功能想法和 Pull Request!如果你会其中一种界面语言,发现了别扭的翻译,去 src/modules/i18n.js(或 docs/ 里对应的 README)把它修正,会是一个非常好的第一个 PR。

Copyright © 2026 lingxi

本项目基于 GNU 通用公共许可证 v3.0(GPL-3.0)授权。

MenuGo 由 lingxi 开发——博客 · 捐赠 ❤

如果 MenuGo 每天为你省下几次点击,给这个仓库点一个 ⭐ 就是最好的鼓励!

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容