Windows自定义右键菜单

       给文件添加右键菜单的方法主要有修改注册表,编写COM组件两种方式,当然这个只是我知道的,或许还有其他我所不知道的方法。今天我要分享的是如何通过添加注册表来达到创建自定义菜单的目的。

       在XP系统上通过注册表添加自定义菜单,只能创建一级菜单而且不能给菜单添加图标。WIN7及之后的系统支持注册表添加多级菜单并且可以添加菜单图标。

 

        自己写好的小程序想要挂载到右键菜单,通过点击文件或者文件夹右键,就可以通过自己的小程序处理该文件或者文件夹。

下面就介绍如何通过注册表实现右键一级菜单和多级菜单的方法:

 

一、实现一级菜单

1. 准备小程序文件

二维码文件分享程序,详情见我博客地址:https://blog.csdn.net/qq_25166683/article/details/81281177

 

2. 认知注册表

2.1 使用win+R快捷键打开运行面板,输入regedit,回车打开注册表。

  

2.2 HKEY_CLASSES_ROOT介绍

       HKEY_CLASSES_ROOT是应用程序运行时必需的信息,和HKEY_LOCAL_MACHINE\SOFTWARE\Classes是一样的,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。这里定义了每个类型的文件用什么程序打开(文件关联问题),文件的图标是什么等,也就是说:文件和应用程序之间所有的扩展名的关联,可以在该注册表更容易和有条理的告知系统什么文件用什么命令(程序)处理。

      HKEY_CLASSES_ROOT\* :*代表所有的文件,不匹配扩展名。如果想要针对指定类型,只需要在Root下添加该扩展名类型的项。

     

 

      HKEY_CLASSES_ROOT\Directory:Directory代表目录,选择目录时会在右键菜单显示该注册表下shell定义的命令。

      

     也就是说,如果想要选中文件或文件夹右键属性出现我们想要的菜单指令,只需要在HKEY_CLASSES_ROOT\*\shell和HKEY_CLASSES_ROOT\Directory\shell下 创建菜单命令。

 

3. 创建“QrShare分享”的右键菜单

3.1 在HKEY_CLASSES_ROOT\*\shell下新建项:QrShare

3.2 指定菜单的运行命令

  在HKEY_CLASSES_ROOT\*\shell\QrShare下创建command项

 修改默认值:选择的文件点击“QrShare分享”会通过该exe程序处理。

3.3  设置菜单属性:图标、显示名称

  新建字符串值,名称为icon,值为:ico文件路径或者exe文件路径,我填写的是"D:\public\bin\QrShare.exe",因为exe文件里有ico文件,会自动识别。

新建字符串值,名称为MUIVerb,值为:QrShare分享

其他属性(新建字符串值):

取系统图标
Icon: C:\Windows\system32\shell32.dll,1

菜单位置
Position: Top 或者 Bottom

按SHIFT键时才显示
Extended (值为空字符串即可)

在之后添加分隔符
SeparatorAfter (值为空字符串即可)

在之前添加分隔符
SeparatorBefore (值为空字符串即可)

 

4. 结果验证

选择一个文件,右键属性,会看的"QrShare分享"的右键菜单。

菜单的图标和名称都能正常显示出来,文件也的却被我的小程序处理了。

 

5. 选择文件夹也希望出现右键菜单

     只需要把HKEY_CLASSES_ROOT\*\shell 更换成HKEY_CLASSES_ROOT\Directory\shell,然后按照步骤1,步骤2,步骤3,步骤4 执行即可。

 

二、多级菜单

为了节省时间和废话,我们直接接着一级菜单后面接着做,下面我们先看看效果图。

1. 添加SubCommands,指定 子菜单

子菜单命令的shell定义在以下路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\

 

2.  创建子菜单的shell命令:QrShare_Execute和QrShare_Open

注意:子菜单的项名必须和SubCommands 保持一致。

 

三、桌面右键属性(不选中文件或文件夹)

案例:

set serviceName=ip
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\wintools-%serviceName%\command" /ve /d "\"%~dp0\wintools.exe\" service=%serviceName% " /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\wintools-%serviceName%" /v icon /d "\"%~dp0\wintools.exe\"" /f
@reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\wintools-%serviceName%" /ve /d "查询IP地址" /f

注:无能用MUIVerb 项来显示菜单名称,否则桌面无法显示菜单。

 

IT视频教程集合:http://blog.sina.com.cn/s/blog_189450fd80102xp2f.html

原文地址:https://blog.csdn.net/qq_25166683/article/details/81352868

  • 17
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Windows右键菜单管理是指对Windows操作系统中的右键菜单进行管理和定制的一项功能。右键菜单是当用户在桌面或者文件资源管理器中点击鼠标右键时弹出的菜单项,它提供了各种操作选项,便于用户快速执行相关操作。 首先,Windows右键菜单管理可以用于添加自定义菜单项。用户可以通过一些第三方软件或者系统自带的注册表编辑工具,定制右键菜单中的菜单项,以方便执行常用的操作和访问特定的功能。例如,可以添加一个“发送到”菜单项,实现快速发送文件到指定位置的功能。 其次,右键菜单管理还可以用于删除或禁用系统自带的菜单项。有时候,系统默认的一些菜单项可能并不常用,用户可以通过管理工具将其删除,以简化右键菜单的显示。另外,当某个菜单项被误操作或者用不到时,也可以禁用它,以避免对系统造成意外损害。 另外,通过右键菜单管理还可以对特定文件类型进行关联。用户可以将特定的文件类型与某个程序进行关联,使得在右键菜单中出现该文件类型相关的操作选项。例如,可以将.txt文件关联到文本编辑器,.mp3文件关联到音乐播放器等等。 总之,Windows右键菜单管理可以帮助用户自定义和优化右键菜单,提高操作效率和使用便捷性。但需要注意的是,修改右键菜单前需谨慎操作,避免对系统造成不必要的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值