python实现应用程序在右键菜单中添加打开方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现应用程序在右键菜单中添加打开方式相关的知识,希望对你有一定的参考价值。

    最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写

1.需求拆解:

如何实现手动添加右键菜单的打开方式:

Step1:打开注册表编辑器,Win+R->输入 “regedit”

技术分享

Step2:在HKEY_CLASSES_ROOT/*/shell (或者HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shell ,两个目录是一样的) 添加一个key:YNote,然后在该项中新建项command,然后再编辑字符串,添加应用程序的路径,最后再路径和名称的后面加上空格和“%1”,然后在右键就可以找到YNote的打开方式

技术分享

2.代码实现

Method1:通过_winreg模块实现:

import _winreg
from _winreg import KEY_ALL_ACCESS

with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\\Classes\\*\\shell") as key:
print key

newKey = _winreg.CreateKeyEx(key,"YNote",0,KEY_ALL_ACCESS)

sub_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,r"SOFTWARE\\Classes\\*\\shell\\YNote")
newsubKey = _winreg.CreateKey(sub_key,"command")

_winreg.SetValue(newsubKey,"(Default)",1,"\\"C:\\Program Files (x86)\\Youdao\\YoudaoNote\\YoudaoNote.exe\\" \\"%1\\"")

Method2:通过win32api和win32con模块实现

import win32api
import win32con

key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,r"SOFTWARE\\Classes\\*\\shell")

newKey = win32api.RegCreateKey(key,"YNote")

sub_key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,r"SOFTWARE\\Classes\\*\\shell\\YNote")

newsubKey = win32api.RegCreateKey(sub_key,"command")

win32api.RegSetValue(newsubKey,"(Default)", win32con.REG_SZ,"\\"C:\\Program Files (x86)\\Youdao\\YoudaoNote\\YoudaoNote.exe\\" \\"%1\\"")
















以上是关于python实现应用程序在右键菜单中添加打开方式的主要内容,如果未能解决你的问题,请参考以下文章

在右键菜单中添加"在此处打开CMD窗口"

在右键菜单中添加"在此处打开CMD窗口"

利用注册表在右键添加VS15的快捷方式打开文件夹

windows7如何在右键新建菜单里添加excel2007怎么添加呀

C#如何实现动态添加右键菜单

让Win10控制面板在右键菜单中安家