python实现应用程序在右键菜单中添加打开方式功能

最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写

1.需求拆解:

如何实现手动添加右键菜单的打开方式:

Step1:打开注册表编辑器,Win+R->输入 “regedit”

Step2:在HKEY_CLASSES_ROOT/*/shell (或者HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shell ,两个目录是一样的) 添加一个key:YNote,然后在该项中新建项command,然后再编辑字符串,添加应用程序的路径,最后再路径和名称的后面加上空格和“%1”,然后在右键就可以找到YNote的打开方式

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实现应用程序在右键菜单中添加打开方式功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • python 创建弹出式菜单的实现代码

    python 创建弹出式菜单的实现代码            实现效果图: Python代码  import win32ui import win32api from win32con import * from pywin.mfc import window class MyWnd(window.Wnd): def __init__ (self): window.Wnd.__init__(self,win32ui.CreateWnd()) self._obj_.CreateWindowEx(W

  • Python模拟三级菜单效果

    本文实例为大家分享了Python模拟三级菜单效果的具体代码,供大家参考,具体内容如下 1.功能简介 此程序模拟多级菜单操作,实现按菜单项对应数字索引进入下级菜单,按b键回退到上一级菜单,按q键退出菜单.并用一个简化的学科专业目录进行了三级菜单测试,实际上此程序可适用任意多级菜单操作. 2.实现方法 本程序采用python语言编写,为了高效实现菜单操作,减少循环次数,关键定义了如下三个变量: current_menu_dict:非最低级菜单时为一个嵌套字典,在最低级菜单时为一个列表,存放当前级及后

  • python递归查询菜单并转换成json实例

    最近需要用python写一个菜单,折腾了两三天才搞定,现在记录在此,需要的朋友可以借鉴一下. 备注:文章引用非可执行完整代码,仅仅摘录了关键部分的代码 环境 数据库:mysql python:3.6 表结构 CREATE TABLE `tb_menu` ( `id` varchar(32) NOT NULL COMMENT '唯一标识', `menu_name` varchar(40) DEFAULT NULL COMMENT '菜单名称', `menu_url` varchar(100) DE

  • Python实现微信公众平台自定义菜单实例

    首先先获取access_token,并保存与全局之中 def token(requset): url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % ( Config.AppID, Config.AppSecret) result = urllib2.urlopen(url).read() Config.access_token = json.load

  • python之wxPython菜单使用详解

    本文实例讲述了python中wxPython菜单的使用方法,分享给大家供大家参考.具体如下: 先来看看下面这段代码: import wx APP_EXIT=1 #定义一个控件ID class Example(wx.Frame): def __init__(self, parent, id, title): super(Example,self).__init__(parent, id, title) #调用你类的初始化 self.InitUI() #调用自身的函数 def InitUI(self

  • Python字典实现简单的三级菜单(实例讲解)

    如下所示: data = { "北京":{ "昌平":{"沙河":["oldboy","test"],"天通苑":["链接地产","我爱我家"]}, "朝阳":{"望京":["奔驰","陌陌"],"国贸":["CICC",&quo

  • Python自动化开发学习之三级菜单制作

    本文实例为大家分享了Python三级菜单展示的具体代码,供大家参考,具体内容如下 作业需求: (1)运行程序输出第一级菜单 (2)选择一级菜单某项,输出二级菜单,同理输出三级菜单 (3)让用户选择是否要退出 (4)有返回上一级菜单的功能 data = { "天津":{ "南开区":{ "南开大学":{ "历史系":{}, "文学系":{}, "英语系":{}, }, "科技大学

  • 使用python实现省市三级菜单效果

    地区分三层结构例如: 大中华地区一级划分: 华东 华中 华北 西南 特别行政区 华南 ------------------------------------------------- 请输入你要查看的大中华地区名字:华中 ------------------包含的省名字二级:----------------- 湖北 湖南 河南 ------------------------------------------------- 请输入你要查看的省名字:湖北 --------------包含的城市

  • python实现应用程序在右键菜单中添加打开方式功能

    最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写 1.需求拆解: 如何实现手动添加右键菜单的打开方式: Step1:打开注册表编辑器,Win+R->输入 "regedit" Step2:在HKEY_CLASSES_ROOT/*/shell (或者HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shell ,两个目录是一样的) 添加一个key:YNote,然后在该项中新建项command,然后再编辑字符串,

  • 右键菜单中添加打开MS-DOS的批处理bat

    reg add "HKCR\*\shell\ms-dos" /ve /d ms-dos /f reg add "HKCR\*\shell\ms-dos\command"  /ve /d "cmd.exe /k cd %%1"  /f reg add "HKCR\Folder\shell\ms-dos" /ve /d ms-dos /f reg add "HKCR\Folder\shell\ms-dos\command

  • vbs实现右键菜单中添加CMD HERE

    右键菜单中添加CMD HERE 复制代码 代码如下: Set WshShell=CreateObject("Wscript.Shell")  WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\CLASSES\Folder\shell\cmd here\",""  WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\CLASSES\Folder\shel

  • 在文件夹右键菜单中添加“进入DOS”命令的方法

    那么就在文件夹右键菜单中增加一个"进入DOS"的快捷选项吧. 点击后直接进入DOS下该文件夹目录 操作方法: 方案A: 1.打开注册表(regedit) 2.找到下面的路径 HKEY_CLASSES_ROOT\Folder\shell 3.新建 项:  CmdPrompt  并设置默认值: "进入DOS" (不带引号,显示到右键菜单上的文字,可任意改变) 4.在CmdPrompt下新建项 Command 并设置默认值:"cmd.exe /k cd %l &

  • python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)

    在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠) 引言 由于win10电脑自带的获取文件路径为双引号括起来的单反斜杠,如下图. "D:\sankey.html" 但是在很多程序里读取文件的时候,文件路径中的反斜杠是会作为反编译的特殊符号,所以无法直接读取该路径 例如在R语言中,读取数据只能用斜杠"/",或者是双反斜杠"\\". 每次在R里读表都很麻烦,要不只能手输,要不用系统自带的路径,然后一个一个加反斜杠. 像我这么懒的人,对于

  • python编程之requests在网络请求中添加cookies参数方法详解

    哎,好久没有学习爬虫了,现在想要重新拾起来.发现之前学习爬虫有些粗糙,竟然连requests中添加cookies都没有掌握,惭愧.废话不宜多,直接上内容. 我们平时使用requests获取网络内容很简单,几行代码搞定了,例如: import requests res=requests.get("https://cloud.flyme.cn/browser/index.jsp") print res.content 你没有看错,真的只有三行代码.但是简单归简单,问题还是不少的. 首先,这

  • python实现的批量分析xml标签中各个类别个数功能示例

    本文实例讲述了python实现的批量分析xml标签中各个类别个数功能.分享给大家供大家参考,具体如下: 文章目录 需要个脚本分析下各个目标的数目 顺带练习下多进程,自用,直接上代码: # -*- coding: utf-8 -*- # @Time : 2019/06/10 18:56 # @Author : TuanZhangSama import os import xml.etree.ElementTree as ET from multiprocessing import Pool,fre

  • Android标题栏中添加返回按钮功能

    标题栏中的返回按钮在实际使用中用的比较多,今天就来讲讲我在项目开发中的使用经历,话不多说,还是直接上源码,上源码是最给力的. 一. 编写自定义类 public class CustomTitle { private static Activity mActivity; public static void getCustomTitle(Activity activity, String title) { mActivity = activity; mActivity.requestWindowF

  • vue中添加语音播报功能的实现

    1:首先把我们的静态资源文件加入到前端工程项目当中 我这里mp3文件就是要播报的语言文件 2: 页面中加入标签 <!-- src 后面的链接是我保存在static文件下的一段报警声 --> <audio v-show="false" id="audioSuccessIn" src="/static/successIn.mp3"/> <audio v-show="false" id="au

  • js捕获鼠标右键菜单中的粘帖事件实现代码

    比如点击菜单中的"粘帖"后事件如何捕获  问题解决了! 用的jQuery中的paste事件,这里需要注意,如想获得粘帖文本要使用setTimeout控制下时间. 复制代码 代码如下: $("#input").bind('paste', function(e) { var el = $(this); setTimeout(function() { var text = $(el).val(); alert(text); }, 100); }); 貌似是在1.4版后加上

随机推荐