Win10如何自定义右键菜单-修改注册表(图文)_注册表右键菜单,指定文件夹内-程序员宅基地

技术标签: windows  

我研究这个是因为发现右键菜单在安装了一下软件后,越来越臃肿,有用的没用的菜单项都被塞进去了,于是自己动手给菜单瘦个身。

这里首先警告一句:下面操作全部涉及到修改注册表,看见不认识,不确定的注册表项,别手欠看见空项或者自以为无用的注册表项,就瞎乱删。最好是有一定操作注册表的基础在跟着本文操作,至少要知道怎么备份和恢复注册表。手欠的孩子都请自己准备好恢复或重装系统,本文的经过作者本人亲自实践无误,但不保证文中描述完全正确或适用于所有版本的win10操作系统。如果在按照本文说明操作时,发生了系统崩溃,死机,或其他任何可修复/不可修复的系统问题,你可以顺着网线来打我啊,然而我也救不了你。

首先,所有的右键菜单项,几乎都可以在注册表中设置。按 Win + R 打开“运行…”窗口,输入 regedit ,按回车键打开。注意:注册表编辑器是需要管理员权限的。
在这里插入图片描述
在这里插入图片描述

打开注册表,根项展开有5个子项,如上图所示。右键菜单的项目都包含在第一子项 HKEY_CALSS_ROOT 中。展开该项,第一个子项一般是 * ,这个统配符表示一切后缀的文件都通用。也就是说,这个子项中的一切右键菜单项,没有特别说明,会出现每一个文件的右键菜单中。

展开这一子项,在其内部,所有的右键菜单分为两部分存储(我也懒得去搞清楚这两块区域有什么不同),见下图:
在这里插入图片描述

用红线圈起来的两个注册表键,就是放置了右键菜单的地方,看看有哪些是自己安装的软件带来的,看名字挑着没用的就能删除了。这里特表提醒一句,看见键名称是一串序列号的,请仔细核对后,确认不是系统项再删除。用这种长传数字当名字的键,如果里面空空如也,那很有可能是系统项。

然后是文件夹,文件夹分为两类菜单,一类是鼠标指向一个文件夹图标时,点击右键出来的菜单;第二类菜单是鼠标在已经打开的文件夹窗口的空白处,点击右键弹出的菜单。如下图所示,第一类菜单的注册表项直接在 Directory 下,shell和shellex\ContextMenuHandlers 里面;第二类菜单则在子项 Background 里面。

在这里插入图片描述

哦,对了,还有比较特殊的桌面菜单。在桌面空白处点击右键,弹出的菜单在 DesktopBackground 项里面:
在这里插入图片描述

是的,细心的人应该已经发现了,这里的菜单项不全。是的,不全,然而我也不知道其他的在哪里,懒得找……

然后还有一些,比如:
驱动器(就是C盘、光驱,之类那些,带着卷标的),在 Drive 项里面;
文件夹还有一些在 Folder 项里面;
字体文件的在 fontfile 项里面;
等等…… 英文好的同学可以自行发挥了。

分割线

上面讲的是如何找到一些项,然后就能删除里面多余的菜单项。下面讲一些添加项的方法:

以python文件为例(*.py),python如见有两个大分支:2.x系列和3.x系列。那么有时候我们的机器上会同时安装这两个python的运行环境,这时候想要快速的用python解释器打开某个 *.py 文件,要么就是命令行,要么就是频繁更改打开方式,要么就是来回挪动环境变量的前后顺序……好吧,我不废话了,下面开始动手添加右键菜单。

首先,还是找到包含python脚本文件的右键菜单项的注册表键,完整的路径是 Computer\HKEY_CLASSES_ROOT\pysFile ,如下图。这里可以看到,有3个子项。一眼可以看到右键菜单的藏身之处:
在这里插入图片描述

一般安装python时,附带的菜单项倒在 Shell 子键里面,展开,把一串什么 runwithidle 之类的统统干掉,然后我们来加入自己的项。
右键点击 Shell ,然后选择 新建 ,然后选择 键:
在这里插入图片描述

简单点的话,不做附加设置,这个键的名字就会是右键菜单项的显示名字,如下图所示:

在这里插入图片描述

之后,如果更改这个键的默认值,就会更改菜单的显示名字:
在这里插入图片描述

只有一个键,是不能让这个菜单项真正生效的,这时如果点击这个菜单项,就会收到系统发出的错误警告。下面来添加点击这个菜单项所触发的命令:
在新建的键里面(图里面的 MieHaHa键),再新建一个键,命名为 command,一般大小写都行,但是我还是建议全小写吧。然后更改这个键的默认值,双击(Default)(中文操作系统这里应该是默认),会弹出修改框,把值修改为你的python.exe所在完整路径+参数就可以了,比如我的python36安装在 D:\Environment\Python36\python.exe, 那么我这里就要输入 “D:\Environment\Python36\python.exe” “%1” %*。这里简单解释一下,这里的值,就相当与是命令行里敲的命令。因为是点击文件弹出的菜单, %1 就是被点击的py文件的完整路径。

有了这个菜单项,就能使用这一项直接用python运行脚本文件了。然而,这也太简陋了,看好多程序都用dll文件,把自己的菜单项折叠成了一个子菜单组,简洁又方便。在WIN10里,其实不用dll,只用注册表,也能自己制作一个折叠的子菜单组,比如上图(图8)的 Run With 项就是我自己写的一个菜单组。下图直接上键的树:

在这里插入图片描述

除了最内层两个 command 和 最外层的 runwith 其余的键都没有值。 runwith 里需要新建两个 字符串的值:一个命名为 MUIVerb,值为 &Run With,也就是这个菜单组的名称,注意要以 & 开头,这个字符不会被显示;第二个值,命名为Subcommands,没有值。如下图:
在这里插入图片描述
原文链接:https://blog.csdn.net/CrowNAir/article/details/78128566

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41276238/article/details/106326940

智能推荐

Hubspot是如何发展到今天的?有哪些实用工具?-程序员宅基地

文章浏览阅读68次。HubSpot,作为一家全球领先的数字化市场营销和销售平台提供商,通过其强大的生态圈和创新的解决方案,帮助企业实现高效运营、客户吸引和业务增长。运营坛今天将详细介绍HubSpot的发展历程以及其三大核心产品:CMS Hub、Marketing Hub和CRM Hub。

C++/MFC修行之路(3) MFC中各个类的互相访问/取指针_mfc类的访问-程序员宅基地

文章浏览阅读590次。1) 在View中获得Doc指针CYouSDIDoc *pDoc=GetDocument(); //一个视只能有一个文档。 2) 在App中获得MainFrame指针//方法一://CWinApp 中的 m_pMainWnd变量就是MainFrame的指针//可以在程序初始化函数InitInstance()中找到这个指针 //方法二:CMainFrame *pMain =_mfc类的访问

解决HDMI屏幕有视频但无声音输出_linux 接上hdmi有视频但是没有hdmi音频-程序员宅基地

文章浏览阅读1.5w次。*****出现HDMI无声音输出问题问题:发现系统在连接HDMI接口输出时,只有图像出现,没有声音分析:HDMI接口可同时传送音频和影音信号。接上HDMI输出后,系统有两个声卡,一个是背后输出的,即REALTEK的,另外一个就是HDMI的。要想从HDMI输出声音,_linux 接上hdmi有视频但是没有hdmi音频

基于Arduino的智能小车-代码部分_arduino智能四轮小车代码-程序员宅基地

文章浏览阅读5.7k次,点赞6次,收藏81次。紧接上篇Arduino智能小车_arduino智能四轮小车代码

K8s集群调度_kubernetes 状态调度次数0-程序员宅基地

文章浏览阅读738次。K8s集群调度_kubernetes 状态调度次数0

ssh实现基于密钥的登录_sshclinet-程序员宅基地

文章浏览阅读490次。ssh服务登录的常用验证方式用户/口令基于密钥利用ssh-copy-id复制公钥到多台服务器,可以实现免密登录1、首先在客户端生成一对密钥(ssh-keygen)2、将客户端的公钥ssh-copy-id拷贝到服务器3、服务器根据客户端发来的公钥进行密码加密,加密后再次回传给客户端,客户端用自己的私钥解密,如果密码正确,则用户登录成功在客户端生成密钥对ssh-keygen -t rsa把公钥文件传输至远程服务器对应用户的家目录ssh-copy-id user@host._sshclinet

随便推点

python使用类装饰器生成函数的使用日志_python用装饰器做日志-程序员宅基地

文章浏览阅读855次,点赞4次,收藏7次。类装饰器是 Python 中的一种特殊类型的装饰器,它是一个类而不是一个函数。与函数装饰器不同,类装饰器可以在运行时接收参数并返回一个可调用的对象,而不是直接替换被装饰的函数。类装饰器的语法是在装饰器类名前面加上 @ 符号,后跟被装饰的函数。它需要实现一个__init__方法来接收被装饰的函数,以及一个__call__方法来替代函数的行为。对于熟悉装饰器的同学来说,类装饰器的__call__其实就是装饰器的内层函数。_python用装饰器做日志

Filter和Listener-学习笔记03【Filter案例】_servletrequest request_proxy=(servletrequest)proxy-程序员宅基地

文章浏览阅读401次。Filter和Listener-学习笔记03【Filter案例】_servletrequest request_proxy=(servletrequest)proxy.newproxyinstance(

qt和html交互php交互,qt 调用百度api 之 Qt 与 Html交互-程序员宅基地

文章浏览阅读638次。在界面编程方面,html可以快速实现想要的界面效果。Qt虽然有强大的qml,但是在有些场合,这需要一个过渡期。以前有开发者会将Qt不好做的界面用Html实现,然后使用Qt和Js实现数据交换,以完全整个软件功能。这里将讨论一下Qt和Html/Js的合作编程,主要内容是如何调用对方的函数。以下示例功能非常简单,仅实现了登录功能。使用html做页面,程序启动时,由QT把上次登录的用户名密码传递给html..._qt可以用html吗

激光SLAM从理论到实践学习——第三节(传感器数据处理2:激光雷达运动畸变的去除)_激光雷达去畸变-程序员宅基地

文章浏览阅读2.6k次,点赞11次,收藏29次。传感器数据处理2:激光雷达运动畸变的去除激光雷达运动畸变的去除比里程计标定更重要,但也取决于用的雷达型号。我用的思岚A2雷达频率小于10Hz,畸变也是比较明显的。概念介绍激光雷达传感器介绍(分类、原理)分类介绍三角测距(A2,EAI,一般10m左右的都是),双目摄像头也是用的三角测距法,左右各一个摄像头​ 优点:中近距离精度较高、价格便宜​ 缺点:远距离精度较差、易受干扰..._激光雷达去畸变

什么是大数据测试?有哪些类型?应该怎么测?-程序员宅基地

文章浏览阅读600次,点赞18次,收藏22次。在数据准备阶段,我们需要制定数据采集计划、数据清洗规范、数据转换规范、数据整合规范等,并使用ETL工具和自定义脚本来实现数据的准备。在项目中,我们通常会使用数据验证工具和自定义脚本来实现数据验证,包括数据完整性、数据准确性、数据一致性、数据重复性等方面。在项目中,我们制定了一系列的数据质量规范,包括数据清洗、数据校验、数据标准化、数据去重、数据加工等方面。通过开发的技术架构评审会,测试会了解开发的架构逻辑,表结构设计,开发排期,从而制定测试策略方法,测试重点,测试工具选用,测试排期,风险预估等。

matlab 混合,C++和MATLAB的混合编程(1)-程序员宅基地

文章浏览阅读46次。C++和MATLAB的混合编程(1)C++和MATLAB的混合编程(1)因为需要使用滤波算法对数据进行滤波处理,自己对算法方面又不是很熟,通过查找了解到MATLAB中各种算法都已经很完善了,所以就想着学习一下使用MATLAB中的算法,后来也是各种百度,但是一直没有找到一个很好的,很完善的解决方案,最后通过多种了解查看,总算弄出一个可用的,这里总结一下在MATLAB混编遇到的问题,还有一些自己的认知..._filtfilt 动态库