之前用 C# 实现了一个右键菜单上传本地文件到七牛云的本地工具,参见 《做程序员呢,开心最重要,用 .Net 8 开发了一个自用的 Windows 文件上传七牛云小工具》。原理就是第一次运行时,修改 Windows 注册表,添加一个右键菜单。
但是后来对 C# 的 ASP.NET AOT 很不满意,感觉就是个玩具。就又切换回 golang 了。用 golang 开发 windows 工具其实比用 C# 方便很多。这不连 C# 之父优化 TS 7.0 也选择了 golang。
回归正题,既然工具链又回到了 golang / python。那么怎么方便地修改 Windows 注册表添加右键菜单呢?有了 DeepSeek,一切变得极其简单。
🚀 新建一个 reg 后缀的文件
add_context_menu.reg
🤖 reg 文件内容
例如,如果只想给 png 文件类型添加两个右键菜单
- 上传到七牛云存储
- 添加边框背景
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\.png\shell\ProcessPng]
@="上传到七牛云存储(&L)"
[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\.png\shell\ProcessPng\command]
@="\"C:\\Users\\zhong\\AppData\\Local\\Microsoft\\WindowsApps\\python.exe\" \"D:\\work\\py_png\\main.py\" \"%1\" arg1"
[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\.png\shell\ProcessBg]
@="添加边框背景(&Y)"
[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\.png\shell\ProcessBg\command]
@="\"C:\\Users\\zhong\\AppData\\Local\\Microsoft\\WindowsApps\\python.exe\" \"D:\\work\\py_png\\main.py\" \"%1\" arg2"
括号里内容时快捷键,使用 Ctrl+Shift+L 或者对应字母即可。注意,不用跟内置的快捷键冲突。
双击 reg 文件,即可导入注册表的修改。
😓 右键菜单中文乱码
但是这样添加的菜单描述,中文部分时乱码。
需要将修改后的 .reg 文件保存为 UTF-16 LE 编码。(VSCode 默认时 utf-8)
再次双击 reg 文件,即可修正。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式