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


Posted in Python onJanuary 09, 2017

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

1.需求拆解:

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

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

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

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

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

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实现应用程序在右键菜单中添加打开方式功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
用Python编写一个简单的FUSE文件系统的教程
Apr 02 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
Python中functools模块的常用函数解析
Jun 30 Python
django框架自定义用户表操作示例
Aug 07 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
Apr 07 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
python字典通过值反查键的实现(简洁写法)
Sep 30 Python
PyTorch中clone()、detach()及相关扩展详解
Dec 09 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 #Python
利用Python中unittest实现简单的单元测试实例详解
Jan 09 #Python
Python中的sort()方法使用基础教程
Jan 08 #Python
Python守护进程和脚本单例运行详解
Jan 06 #Python
Python 基础知识之字符串处理
Jan 06 #Python
详解Python中的相对导入和绝对导入
Jan 06 #Python
Python中取整的几种方法小结
Jan 06 #Python
You might like
php简单提示框alert封装函数
2010/08/08 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
php实现登陆模块功能示例
2016/10/20 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
跟老齐学Python之编写类之三子类
2014/10/11 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
中班开学寄语
2014/04/04 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
仓管员岗位职责
2015/02/03 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
学习党史心得体会2016
2016/01/23 职场文书
详解MySQL的半同步
2021/04/22 MySQL