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 相关文章推荐
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
用Python实现换行符转换的脚本的教程
Apr 16 Python
Python通过future处理并发问题
Oct 17 Python
pandas Dataframe行列读取的实例
Jun 08 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
python 表格打印代码实例解析
Oct 12 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
哪种Python框架适合你?简单介绍几种主流Python框架
Aug 04 Python
python遍历路径破解表单的示例
Nov 21 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
python缺失值填充方法示例代码
Dec 24 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
python实现给字典添加条目的方法
2014/09/25 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
DOM和JQuery对象有什么区别
2016/11/11 面试题
毕业生求职信范文
2014/06/29 职场文书
旅游活动总结
2014/08/27 职场文书
幼儿教师个人总结
2015/02/05 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
Python3 如何开启自带http服务
2021/05/18 Python