使用Python为程序添加右键菜单打开方式

要为程序添加右键菜单打开方式,则需要修改注册表,具体的修改方法可参见【转】Windows右键菜单设置与应用技巧

在Python中,提供了一个内置的_winreg模块用于操作Windows注册表。

以下展示了使用Python的_winreg模块修改Windows注册表,从而实现为指定的程序添加右键菜单打开方式的代码:

# -*- coding: utf-8 -*-



''' 为程序添加右键菜单打开方式 '''



import _winreg



# 此处以IE浏览器为例

# 通过修改代码中prog_name和prog_path的值,可以指定任意的其他程序



prog_name = '用IE打开' # 程序名称(即右键菜单中显示的名称)

prog_path = r'C:\Program Files\Internet Explorer\IEXPLORE.EXE' # 程序路径(即可执行文件所在路径)



# 打开名称为“HEKY_CLASSES_ROOT\*\shell”的键key

key = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, r'*\\shell')

# 为键key新建名称为prog_name的子键,

# 并设置其数据为REG_SZ(字符串值)类型的prog_name((&I)表示指定快捷键为I)

_winreg.SetValue(key, prog_name, _winreg.REG_SZ, prog_name + '(&I)')



# 打开名称为prog_name的子键prog_key

prog_key = _winreg.OpenKey(key, prog_name)

# 为键prog_key新建名称为'command'的子键,

# 并设置其数据为REG_SZ(字符串值)类型的prog_path + ' %1'

_winreg.SetValue(prog_key, 'command', _winreg.REG_SZ, prog_path + ' %1')



_winreg.CloseKey(prog_key) # 关闭键prog_key

_winreg.CloseKey(key) # 关闭键key

执行上面的Python代码后,运行“regedit”命令打开Windows的注册表编辑器,可以看到“HKEY_CLASSES_ROOT\*\shell”节点下新增了“用IE打开\command”项:

在任意一个文件上面点击右键,可以看到弹出的菜单中新增了“用IE打开(I)”项:

此时,用鼠标点击“用IE打开(I)”,或者直接按下快捷键I,都将会用IE浏览器打开当前文件。

你可能感兴趣的:(python)