本文参考Stackoverflow的解答How add context menu item to Windows Explorer for folders
win10鼠标右键菜单管理:右键文件夹、文件以及右键空白区域三种情形
将鼠标右键菜单分文下三种情况:
- 右键空白区域(分为桌面空白区域和其他文件夹下空白区域)
- 右键文件夹
- 右键文件(分为所有文件和某类型文件两种)
1. 通过修改注册表项来修改右键菜单
无论右键什么位置,弹出菜单都可以对应到其注册表shell项里。
我们需要进行的工作为
- 搞清楚自己想修改哪种情形下的右键菜单
- 找到对应注册表位置,修改shell项,具体修改方法为
- 为shell添加一个新的key/键
- 在新key/键下新键一个名为"command"的键
- 将需要执行的命令修改为command键Default的值
具体修改办法见1.2小节
1.1 注册表位置
不同情形下的注册表位置如下
情形 | 注册表位置 | ||
---|---|---|---|
右键空白区域 | 桌面空白区域 | HKEY_CLASSES_ROOT\DesktopBackground\Shell | |
一般空白区域 | 管理员 | HKEY_CLASSES_ROOT\Directory\Background\shell | |
普通用户 | HKEY_CURRENT_USER\Software\Classes\directory\Background\shell | ||
右键文件夹 | 管理员 | HKEY_CLASSES_ROOT\Directory\shell | |
普通用户 | HKEY_CLASSES_ROOT\Directory\shell | ||
右键文件 | 管理员 | HKEY_CLASSES_ROOT\*\shell | |
普通用户 | HKEY_CURRENT_USER\Software\Classes\*\shell |
1.2 修改注册表shell值
我们为右键桌面空白区域的弹出菜单添加一个Hide Taskbar命令
- 打开注册表,按下win然后按下r键,输入
regedit
(意为打开Registry Editor) - 跳转到对应shell位置,根据1.1中的表位置为HKEY_CLASSES_ROOT\DesktopBackground\Shell
- 新键key,命名为Hide Taskbar(这里的命名并不是必要的,只是当key的default值为空时使用)
- 在Hide Taskbar下新键key,命名为command
- 双击command中的default,将default值改为相应的程序路径(如果程序需要参数,加上程序参数)
- 这时双击桌面空白区域,已经添加成功!
下面是一个gif演示
1.3 修改文件对应的右键菜单
1.2介绍的方法适用于修改文件夹和空白区域对应的右键菜单。
修改所有文件右键菜单
修改所有文件右键菜单和1.2相同,即打开HKEY_CLASSES_ROOT*\shell来添加或修改即可,所不同的是修改某类型文件的菜单
修改某类型文件的菜单
我们以.docx文件为例
- 跳转到注册表位置HKEY_CLASSES_ROOT\
- 找到对应文件后缀的文件夹,如.docx文件打开HKEY_CLASSES_ROOT.docx,查看其Default的值
- 打开上一步查看到的值对应的文件夹,里面包含一个shell文件。
- 现在修改方法和1.2相同。即修改shell即可对对应后缀的文件修改右键菜单