小白方法
下载各种计算机管理软件或者右键管理软件,中途被恶意捆绑安装了一大堆,花里胡哨中迷失了方向,最后还不能达到预期效果。
别说小白,我就试过,用什么 360 右键管理等等,大多数情况下根本没个卵用。
本篇文章将教你如何在十分钟内管理好你的右键,并实现我今天要实现的目标,在右键中添加“在此处打开 Typora”选项。
目前右键效果截图:
可以看到,是没有这一选项的。
解决方案
首先,我们看这个右键,比如通过 Code 打开
(注意有空格),其实就是我们想要实现的目标,只不过我们想要打开自己想打开的某个软件,于是我们可以先看一下 VSCode 是怎么做到的。
打开注册表
Windows + R
,输入regedit
,回车后弹窗点击是
,顺利打开注册表,如图所示。
搜索同类目标
这一步是关键,很多教程只讲具体的方法,但不讲方法论,但不能怪他们,很多中国的程序员其实根本没有所谓的方法论,要么是搜索党,要么是伸手党,稍微有些技术的,我们就看不见了(被收官,或者属于沉默寡言的黑客之类)。
我们尝试,搜索通过 Code 打开
这几个字。
我们得到了如下结果,这个结果很有意思。
解读如下:
- 首先这是在
HKEY_CLASSES_ROOT
下搜索到的,ROOT这个名字对于程序员来说实在是再熟悉不过了,一看就很靠谱的样子。 - 接着是
*
,星号其实程序员也不陌生,就是通配符的意思,因此也就意味着这里的设置对应着通用的情况。 - 再接着就是
shell
,linux 玩家对此也是了然如胸,一般属于命令行之类的操作。 - 最关键的,是其他几个选项,我们看到了有各种
Open with
,还全是JetBrains
家的,比如编写 C/C++语言的 Clion,编写 Java 语言的 IDEA,编写 python 语言的 PyCharm 和编写 JS 语言的 WebStorm,当然了这是因为我安装了这些软件,然后他们自动写入了注册表,毕竟大厂的软件啥都考虑到了。对于更加小众、独立的软件就暂时不支持这么牛哄哄的底层操作了(或者不敢,怕说流氓)。
现在,我们主动赋予它们绑定我们系统的权利!
摸索、总结设定的方式
我们多点几下这些大厂的软件,看看它们在注册表中展现的形式是怎样的。
我随便点了两个不同厂商的,PyCharm 和 VsCode 的设定都出奇地类似:
- 一个(默认)项,数据值是文件系统中显示的操作命令名
- 一个 Icon 项,数据值是程序的启动路径
- 一个 command 子文件夹
这里要注意的是,虽然类型有REG_SZ
和REG_EXPAND_SIZE
两种,但从字面意思上来看,其实应该都能达到同样的效果,我们就用默认的REG_SZ
了。
再看它们 command 子文件夹的设定方式。
可以看到,数据值就是在程序启动路径后面跟上%1
而已。
备注,这里的数据值都上了引号,是因为当做命令行时,由于程序路径存在空格,所以需要用引号包围防止出错。而上面的那个 Icon 的数据值没有包是因为直接把路径当做了一个变量。
开始实践!
一分钟内,我们仿佛就知道了如何办了,难道不是吗?
以Typora
程序为例。
- 新建一个文件夹叫
MyTypora
(取名明显是任意的),即点击shell
,右键新建项
(“项”等价于文件夹)。 - 在
MyTypora
下,新建一个字符串值,就是默认值。 - 在默认值上双击,输入想显示的名字(显然也是任意的)。
- 再新建一个字符串值,名字取名为
Icon
,这个名字还是不能改的,然后输入程序的启动路径。 - 要找到程序的启动路径,可以这样,在 win10 内搜索到应用程序,右键打开文件位置,它会打开快捷方式所在的位置,接着在快捷方式上右击再次选择文件位置,就能到达实际启动路径了。接着复制该程序的路径,用
\
符号切割,得到C:\Program Files\Typora\Typora.exe
- 将路径填回注册表。
- 最后一步,在文件夹下新建一个
command
子文件夹(或者叫项
),将路径复制加上引号后,紧跟一个%1
。
开始验证!
验证文件夹内右击是否成功
很遗憾,文件夹内并未出现
Typora
的字样。验证文件夹上右击是否成功同上,未成功。
验证文件上右击是否成功 可以看到,已经成功。
进一步解决方案
对解决方案的总结分析
很明显,windows 对文件、文件夹、文件管理器背景(空白处)等(大胆猜测桌面上也是其中一项)做了多处不同的设定,所以我们需要一一设定。
我目前的需求主要有两个:
- 右键文件管理器空白处能够显示
在此处打开Typora
- 右键文件夹能够显示
使用Typora打开此文件夹
另一个需求使用Typora打开此文件
我已经通过 windows 的默认应用程序
实现。
因此,我们需要进一步实现这两个需求。
实现文件夹背景右键添加
再次打开Ctrl + F
搜索框,还是用哪个VS Code
搜索,得到如下结果。
很明显,在这里集中设定文件夹背景
的右键项。
仿照之前的解决方案,我们实现Typora
的右键添加。
再仿照 VS Code 的 command 设定,实现 Typora 的 command。
实现文件夹右键添加
同上,再次搜索。
可以看到,在这个Directory
文件夹下有个shell
,确认过眼神,是我们的最后一步了!
配置同上,也是默认项+Icon 项+command 项(也是%v
)。
开始验证!
- 验证文件夹背景右键 成功!
- 验证文件夹右键 成功!
至此,全部的验证均已通过。
引申与总结
关于图标
这里注意的是,图标和我们平时所说的图片不一样,图标都是程序打包时程序内部预设的 icon,所以我们新建 icon 项后填的其实是一个.exe
文件路径,而不是.jpg
或其它。
关于路径
我经常有复制一个文件绝对路径的需求,但是 windows 资源管理器默认只能复制文件名和导航地址栏(即文件夹地址),我们需要自己拼接,这点体验很不好。
所以我新建了一个右键复制绝对路径的项,如下。
它的 command 项略有点复杂,使用了 vb 的命令。
我复制如下,供有需求的朋友自行配置。
mshta vbscript:clipboarddata.setdata("text","%1")(close)
同样地,再设置一下文件夹的拷贝项。
命令行和上面是一样的。
关于意义
其实看到最后会发现,这就是一个脚本完事的事。
没错,话是这么说,但谁都知道,这个年代,还有谁有时间或者有兴趣去学 windows 的脚本编程呢?
我从论坛学到一个流程的基本设定,怎么打开注册表,怎么修改表项,再根据自己的经验与理解,实现了更多自定义的设置,这就是意义。
我不用去专门再学一门编程语言,但我对它的理解却更甚了,日常工作的体验更棒了,并且有信心能够解决未来遇到的更多难题,这就是全部的意义。
Thanks for your attention.