Fork me on GitHub

使用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浏览器打开当前文件。

posted on 2011-11-25 22:50  RussellLuo  阅读(4985)  评论(0编辑  收藏  举报

导航