You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python winreg模块在Windows注册表中创建子项?

修正后的注册表子项创建代码

你的代码错误在于直接在Directory\shell键下设置键值,而非创建目标子项。要实现截图对应的注册表结构(添加右键菜单关联程序),需要按标准注册表结构先创建子项,再设置对应值,以下是正确代码:

import winreg as rg

# 打开HKEY_CLASSES_ROOT\Directory\shell键,获取写入权限
with rg.OpenKey(rg.HKEY_CLASSES_ROOT, "Directory\\shell", 0, rg.KEY_WRITE) as shell_key:
    # 在shell键下创建名为IFO/dr的子项
    with rg.CreateKeyEx(shell_key, "IFO/dr", 0, rg.KEY_WRITE) as ifo_dr_key:
        # 设置该子项的默认值(右键菜单显示的自定义名称)
        rg.SetValueEx(ifo_dr_key, "", 0, rg.REG_SZ, "批量重命名文件夹")
        
        # 在IFO/dr子项内创建command子项(右键菜单执行逻辑的标准子项)
        with rg.CreateKeyEx(ifo_dr_key, "command", 0, rg.KEY_WRITE) as cmd_key:
            # 设置command子项的默认值为目标程序路径
            rg.SetValueEx(cmd_key, "", 0, rg.REG_SZ, r"F:\IFO\dist\rename_folder.exe")

关键说明:

  • 用with语句自动管理注册表键的关闭,避免资源泄漏
  • 遵循Windows右键菜单的注册表标准结构:Directory\shell\[自定义子项]\command
  • 空字符串名称的键值为对应子项的默认值,分别用来定义右键菜单显示文字、程序执行路径

内容的提问来源于stack exchange,提问作者FAB TECH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:15:29