![图片[1]-Windows11新版默认的右键菜单不喜欢?教你一键切换经典菜单,MenuGo正式版发布-聆曦博客](https://www.aizzx.top/wp-content/uploads/2026/11/20261106024220401-20261106024220554-MenuGo:右键菜单随心切换-1024x576-1.jpg)
我日常同时使用 Windows、macOS、Linux 多平台。升级 Win11 之后,默认的新版右键菜单一直用不习惯。网上不少教程都是通过修改注册表来切回 Win10 经典右键菜单,操作本身不难,照着步骤就能完成。
但我录制教程时,需要在新旧两种右键菜单之间频繁来回切换,反复改注册表、导入 reg 文件十分麻烦,不是长久方案。恰逢近期在学习 Rust,干脆动手开发了 MenuGo,一键完成切换。
软解界面
![图片[2]-Windows11新版默认的右键菜单不喜欢?教你一键切换经典菜单,MenuGo正式版发布-聆曦博客](https://www.aizzx.top/wp-content/uploads/2026/11/20261106024251394-screenshot-light.png)
![图片[3]-Windows11新版默认的右键菜单不喜欢?教你一键切换经典菜单,MenuGo正式版发布-聆曦博客](https://www.aizzx.top/wp-content/uploads/2026/11/20261106024251651-screenshot-dark.png)
功能亮点
- 🖱️ 一键切换经典(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 页面获取最新版本,直接运行即可——不用走安装程序那一套流程,也没有任何依赖要装。
使用方法
- 启动 MenuGo。它会显示当前生效的菜单样式。
- 点击经典或默认进行切换。此时会出现一条“待重启”提示栏。
- 点击提示栏上的重启资源管理器——或者在快速设置浮层里开启切换后自动重启,从此再也不用惦记这件事。
次要选项(应用到所有用户、自动隐藏任务栏、任务栏置顶、外观、语言、清除缓存)位于右上角按钮背后的浮层里;“关于 / 捐赠 / 博客 / 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 每天为你省下几次点击,给这个仓库点一个 ⭐ 就是最好的鼓励!













暂无评论内容