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实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
python3爬取淘宝信息代码分析
Feb 10 Python
python检测IP地址变化并触发事件
Dec 26 Python
python实现五子棋小游戏
Mar 25 Python
Python DataFrame一列拆成多列以及一行拆成多行
Aug 06 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
Python字典底层实现原理详解
Dec 18 Python
keras之权重初始化方式
May 21 Python
python 通过文件夹导入包的操作
Jun 01 Python
Python通过format函数格式化显示值
Oct 17 Python
Python使用protobuf序列化和反序列化的实现
May 19 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与SQL注入攻击[二]
2007/04/17 PHP
php全排列递归算法代码
2012/10/09 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
python缩进区别分析
2014/02/15 Python
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
python 安装impala包步骤
2020/03/28 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
Foreo国际站:Foreo International
2018/10/29 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
GWebs公司笔试题
2012/05/04 面试题
实习生自我鉴定
2013/12/12 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
实习工作表现评语
2014/12/31 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
Python实现byte转integer
2021/06/03 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js