网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Python 注册菜单

我们看到下面的示例图是 在右键文件夹上查看菜单,带有两级的菜单选项。

创新互联服务项目包括上杭网站建设、上杭网站制作、上杭网页制作以及上杭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,上杭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到上杭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

文件夹

空白处

需要使用管理员权限运行
因为右键菜单需要注册表信息,打开注册表需要管理员权限UAC,所以在执行命令过程中需要使用管理员权限来执行命令

import sys
import winreg as reg
import os


def add_context_menu_parent(parent_name, reg_root_key_path, reg_key_path):
    # 打开名称父键
    key = reg.OpenKey(reg_root_key_path, reg_key_path)
    # 为key创建一个名称为menu_name的sub_key,并设置sub_key的值为menu_name加上快捷键,数据类型为REG_SZ字符串类型
    reg.SetValue(key, parent_name, reg.REG_SZ, '')

    # 打开刚刚创建的名为menu_name的sub_key
    sub_key = reg.OpenKey(key, parent_name, 0, reg.KEY_ALL_ACCESS)

    # 为sub_key设置成可添加二级菜单
    # reg.SetValueEx(sub_key, 'MUIVerb', 0, reg.REG_SZ,parent_name + '(&{0})'.format(shortcut_key))
    # reg.SetValueEx(sub_key, 'icon', 0, reg.REG_SZ, icon_path)
    # reg.SetValueEx(sub_key, 'MultipleInvokePromptMinimum', 0, reg.REG_DWORD, 1)
    reg.SetValueEx(sub_key, 'SubCommands', 0, reg.REG_SZ, '')
    reg.SetValue(sub_key, 'shell', reg.REG_SZ, '')

    # 关闭sub_key和key
    reg.CloseKey(sub_key)
    reg.CloseKey(key)


def add_context_menu(menu_name, command, reg_root_key_path, reg_key_path, shortcut_key):
    # 打开名称父键
    key = reg.OpenKey(reg_root_key_path, reg_key_path)

    # 为key创建一个名称为menu_name的sub_key,并设置sub_key的值为menu_name加上快捷键,数据类型为REG_SZ字符串类型
    reg.SetValue(key, menu_name, reg.REG_SZ, f'{menu_name}(&{shortcut_key})')

    # 打开刚刚创建的名为menu_name的sub_key
    sub_key = reg.OpenKey(key, menu_name, 0, reg.KEY_ALL_ACCESS)
    # reg.SetValueEx(sub_key, 'icon', 0, reg.REG_SZ, icon_path)

    # 为sub_key添加名为'command'的子键,并设置其值为command + ' "%v"',数据类型为REG_SZ字符串类型
    reg.SetValue(sub_key, 'command', reg.REG_SZ,  command)

    # 关闭sub_key和key
    reg.CloseKey(sub_key)
    reg.CloseKey(key)


if __name__ == "__main__":
 
    parent_name = '服务'
    add_context_menu_parent(parent_name, reg.HKEY_CLASSES_ROOT, r'Directory\shell')
    add_context_menu_parent(parent_name, reg.HKEY_CLASSES_ROOT, r'Directory\Background\shell')

    menu_name0 = '添加'
    # 执行一个python脚本的命令,用于打印命令行参数的第二个参数(即选中的文件路径)
    py_command0 = rf'addwm'
    # 添加文件右键菜单
    add_context_menu(menu_name0, py_command0, reg.HKEY_CLASSES_ROOT, rf'Directory\shell\{parent_name}\shell', 'A')
    add_context_menu(menu_name0, py_command0, reg.HKEY_CLASSES_ROOT, rf'Directory\Background\shell\{parent_name}\shell', 'A')

    menu_name0 = '删除'
    # 执行一个python脚本的命令,用于打印命令行参数的第二个参数(即选中的文件路径)
    py_command0 = rf'removewm'
    # 添加文件右键菜单
    add_context_menu(menu_name0, py_command0, reg.HKEY_CLASSES_ROOT, rf'Directory\shell\{parent_name}\shell', 'R')
    add_context_menu(menu_name0, py_command0, reg.HKEY_CLASSES_ROOT, rf'Directory\Background\shell\{parent_name}\shell', 'R')

    os.system('pause')

网页标题:Python 注册菜单
分享地址:http://bjjierui.cn/article/dsogchj.html

其他资讯