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中的多进程与多线程的使用
Apr 07 Python
Python中的hypot()方法使用简介
May 18 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
使用Python对Csv文件操作实例代码
May 12 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
Python实现购物车购物小程序
Apr 18 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
使用Python将Mysql的查询数据导出到文件的方法
Feb 25 Python
Python OpenCV利用笔记本摄像头实现人脸检测
Aug 20 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
Django vue前后端分离整合过程解析
Nov 20 Python
教你怎么用python实现字符串转日期
May 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
一篇不错的PHP基础学习笔记
2007/03/18 PHP
PHP 输出缓存详解
2009/06/20 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
fastadmin中调用js的方法
2019/05/14 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
python处理中文编码和判断编码示例
2014/02/26 Python
跟老齐学Python之Python安装
2014/09/12 Python
Python制作CSDN免积分下载器
2015/03/10 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
深入浅析Python代码规范性检测
2020/07/31 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
init进程的作用
2015/08/20 面试题
安全目标责任书
2014/07/22 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
孟佩杰观后感
2015/06/17 职场文书
nginx 配置指令之location使用详解
2022/05/25 Servers
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis