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深入学习之内存管理
Aug 31 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
使用Turtle画正螺旋线的方法
Sep 22 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
python实现列表的排序方法分享
Jul 01 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
在python plt图表中文字大小调节的方法
Jul 08 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
python实现猜数游戏
Mar 27 Python
Python如何定义有默认参数的函数
Aug 10 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 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数组最大值,最小值的代码
2011/10/31 PHP
PHP Reflection API详解
2015/05/12 PHP
php微信开发之上传临时素材
2016/06/24 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
angular.extend方法的具体使用
2017/09/14 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
资深地理教师自我评价
2013/09/21 职场文书
迎新晚会邀请函
2014/02/01 职场文书
公司授权委托书范本
2014/04/03 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
初中教师业务学习材料
2014/05/12 职场文书
学习退步检讨书
2014/09/28 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
队列队形口号
2015/12/25 职场文书
欧元符号 €
2022/02/17 杂记
python lambda 表达式形式分析
2022/04/03 Python