笔记:windows注册表右键菜单设置(含级联菜单)

引言

在windows系统下,使用注册表实现右键菜单功能。原本在微软官方文档中按照步骤操作,没办法实现我想要的效果,找了好久才找到正确的解决方法(可能是系统或版本问题),故在此做个笔记,以便于查阅。

注册表

打开方式

按下 win+R 组合键,输入 regedit ,再回车,即可打开。

路径

右键菜单

HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell

在这个路径下,添加或删除自己定义的右键菜单即可,无需在其他位置操作。
网上有说在 HKEY_CLASSES_ROOT*\shell 这个路径下编辑,也可以,不过在 HKEY_CURRENT_USER\SOFTWARE\Classes*\shell 下编辑就会自动在前者路径下创建或删除。

菜单
菜单名

右键 shell ,新建项,就创建好菜单了。默认项名为菜单名,如果要修改右键菜单名称,可以如下两种方式

//1.直接修改默认项的参数即可,级联菜单不能这样做
//名称       类型        数据
(默认)       REG_SZ      菜单名
//2.新增一个字符串值,命名为 MUIVerb ,可用于级联菜单
//名称       类型        数据
MUIVerb      REG_SZ     菜单名
菜单图标
//名称      类型        数据
icon        REG_SZ      ico图片绝对路径
过滤文件

可以指定该菜单只在哪些文件下右键才会出现

//名称      类型      数据
AppliesTo   REG_SZ    System.ItemType:png    //指定只在png图片上右键才会出现

数据过滤类型

System.ItemType    //指定文件类型
System.ItemName    //文件名包含指定内容

条件,可实现多种文件都可以打开,或者为该文件符合多种条件才能打开

AND / OR

示例

(System.ItemType:png) OR (System.ItemType:jpg)  //png或jpg文件右键菜单都可以出现
执行指令

右键你的菜单项,新建项 取名 command ,修改默认的数据值

//名称      类型      数据
(默认)      REG_SZ    exe文件绝对路径+参数

数据格式如下

exe文件绝对路径 参数1 参数2 参数...

若需要传递文件的路径->参数(建议实际使用时都加上引号)

%1  //选中的单个文件的路径
%2  //选中的单个文件的所在文件夹路径
%*  //选中的所有文件的所有文件路径,空格分隔
%V  //选中的若为快捷方式,则为目标路径,否则同%1
%n  //选中的文件名(无扩展名)
%x  //选中的文件扩展名

示例

//名称      类型      数据
(默认)      REG_SZ    E:/tool.exe open %1
效果图

一级菜单示例

//结构
shell
	| test
		| (默认)      REG_SZ      (数值未设置)
		| MUIVerb     REG_SZ      就是一个测试
		| command
			| (默认)      REG_SZ      E:/tool.exe open %1
级联菜单
一级菜单

请看上面内容
不同之处,在于若有子菜单的情况下,不设置 command 项,另外增加 SubCommands 字符串值,如下(注意,数据不用设置)

//名称        类型        数据
SubCommands   REG_SZ
二级菜单

在一级菜单下新建项 shell ,然后在这个一级菜单下的shell设置菜单就可以了。
两层菜单示例

//结构
shell
	| top
		| (默认)       REG_SZ      (数值未设置)
		| MUIVerb      REG_SZ      就是一个测试
		| SubCommands  REG_SZ
		| shell
			| one
				| (默认)      REG_SZ      (数值未设置)
				| MUIVerb     REG_SZ      打开
				| command
					| (默认)      REG_SZ      E:/tool.exe open %1
			| two
				| (默认)      REG_SZ      (数值未设置)
				| MUIVerb     REG_SZ      删除
				| command
					| (默认)      REG_SZ      E:/tool.exe delete %1

效果图
两级菜单

多级菜单

如上 一级和二级 菜单的设置方式,将二级如一级那般设置,类似俄罗斯套娃式,就可以实现多级菜单了。
效果图
三级菜单

开机自启

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

在该路径下,新建字符串值即可,如下

//名称       类型      数据
youer_name   REG_SZ   exe绝对路径

数据填写格式

exe绝对路径 参数1 参数2 参数...

cmd操作指令

查询

reg query 注册表路径

新建

reg add 注册表路径 /v 值名称 /t 类型 /d 数据 /f

不存在该路径,则自动创建;仅创建项,则不需要 /v 和 /t 。
/f 为若已存在,则覆盖,可以不写

删除

reg delete 注册表路径 /v 值名称 /f

/f 为强制删除,可以不写

### 回答1: Win10不用注册表删除右键功能的方法有很多。下面我将介绍一种常用的方法。 首先,右键功能的设置是保存在Windows注册表中的,如果直接删除注册表中相应的条目,可能会导致系统出现问题。但是可以通过修改注册表的方式来禁用右键功能。 1. 首先,打开注册表编辑器。按下Win+R键,输入“regedit”并按下回车键。 2.在注册表编辑器中,找到以下路径:HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers 3. 在ContextMenuHandlers文件夹下,会列出右键功能对应的项目。右键单击要禁用的项目,并选择“导出”。 4. 将导出的项目保存到一个安全的位置,以便需要恢复时使用。 5. 右键单击要禁用的项目,选择“删除”,然后确认删除操作。 6. 重启计算机。 经过以上步骤,就可以成功禁用右键功能了。如果需要恢复右键功能,只需双击之前导出的项目,或者将之前导出的项目复制到之前的位置即可。 需要注意的是,修改注册表可能会对系统稳定性产生影响,所以在操作前最好先备份注册表,并谨慎进行操作。如果不确定如何操作,建议向专业人士咨询。 ### 回答2: Win10系统中,可以通过以下方法来删除右键功能,而不需要使用注册表进行操作。 方法一:使用第三方软件 可以下载一些专门用于定制系统右键菜单的软件,如"右键菜单增删工具"、"右键菜单调整工具"等。通过这些软件,可以很方便地删除、修改右键功能。 方法二:使用群组策略编辑器 1.按下Win+R键,打开“运行”对话框,输入“gpedit.msc”进入群组策略编辑器。 2.依次展开“用户配置”、“管理模板”、“Windows组件”。 3.在左侧窗口中找到“文件资源管理器”,选择“右键功能菜单”。 4.在右侧窗口中,可以看到各种右键功能菜单设置选项。可以通过禁用、启用来删除或添加右键功能。 方法三:使用注册表编辑器 虽然题目说不使用注册表,但如果确实需要通过注册表删除右键功能,可以按照以下步骤进行操作: 1.按下Win+R键,打开“运行”对话框,输入“regedit”进入注册表编辑器。 2.依次展开"HKEY_CLASSES_ROOT",找到对应的文件类型注册表项。 3.在该项下找到“shell”子项,进一步展开找到需要删除的右键功能注册表项。 4.删除该注册表项,并重启系统使其生效。 无论选择哪种方法,删除右键功能时需要谨慎操作,以免删除错误或影响到系统的正常运行。建议在进行任何修改之前,先备份相关的注册表项或创建系统还原点,以备不时之需。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值