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"SOFTWAREClasses*shell") as key: print key newKey = _winreg.CreateKeyEx(key,"YNote",0,KEY_ALL_ACCESS) sub_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,r"SOFTWAREClasses*shellYNote") newsubKey = _winreg.CreateKey(sub_key,"command") _winreg.SetValue(newsubKey,"(Default)",1,""C:Program Files (x86)YoudaoYoudaoNoteYoudaoNote.exe" "%1"")
Method2:通过win32api和win32con模块实现
import win32api import win32con key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,r"SOFTWAREClasses*shell") newKey = win32api.RegCreateKey(key,"YNote") sub_key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,r"SOFTWAREClasses*shellYNote") newsubKey = win32api.RegCreateKey(sub_key,"command") win32api.RegSetValue(newsubKey,"(Default)", win32con.REG_SZ,""C:Program Files (x86)YoudaoYoudaoNoteYoudaoNote.exe" "%1"")