添加 Windows 右键菜单,点击执行一段 Python 脚本

更新日期: 2025-03-16 阅读次数: 186 字数: 531 分类: Windows

之前用 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 文件类型添加两个右键菜单

  1. 上传到七牛云存储
  2. 添加边框背景
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 聊聊, 查看更多联系方式