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的UTC时间转换讲解
Feb 26 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python使用minimax算法实现五子棋
Jul 29 Python
django foreignkey(外键)的实现
Jul 29 Python
wxPython多个窗口的基本结构
Nov 19 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
python3 kubernetes api的使用示例
Jan 12 Python
Python基础教程,Python入门教程(超详细)
Jun 24 Python
Python实现视频自动打码的示例代码
Apr 08 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
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
js 编写规范
2010/03/03 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
js自定义select下拉框美化特效
2016/05/12 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Python 打印中文字符的三种方法
2018/08/14 Python
Python中format()格式输出全解
2019/04/12 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Django分组聚合查询实例分享
2020/04/29 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
企业新年寄语
2014/04/04 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python