修改注册表 为 Notepad++ 关联文件

之前在电脑上安装了matlab,也就默认的关联了.m文件。但用得不多。

最近接触了Octave,觉得Octave使用起来方便些。也因为要绘制一些图,所以常常要编辑.m文件。但自己又比较习惯notepad++编辑,不习惯matlab的editor。

但每次双击.m文件的时候,其默认打开程序确实meditor。而且打开时间还挺长,于是想要将其默认程序修改为notepad++。

但非常奇怪的是,在我右击选择打开程序的时候,选框里面总是没有Notepad++。之前PHP文件也是,后来我在Notepad++的首选项-》文件关联中做了修改,也就自动关联了php文件。

但这次,我在首选项做的一切更改,似乎都不算数。这让我心烦不已。然后就开始找解决方案,有两个:

1,通过控制面板-》程序-》默认程序-》设置关联 来设置。但发现这和右击后选择打开方式是一个道理,根本没辙。

2,修改注册表。看来这是最后的选择了。

在网上找到Windows文件关联的注册表信息在 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts 下面。

但进去之后我也不知道怎么修改,于是按F3搜索notepad++,看看注册表是如何实现文件关联的。也是我运气好,搜索到的第一个结果就是php后缀的文件。这正好帮助我参考经关联的文件类型的注册表是怎样的。然后我将这个分支导出,内容如下:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithList]
"a"="QQPCFileOpen.exe"
"MRUList"="decba"
"b"="ABViewer.exe"
"c"="WORDPAD.EXE"
"d"="notepad++.exe"
"e"="chrome.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithProgids]
"php_auto_file"=hex(0):
"Notepad++_file"=hex(0):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\UserChoice]
"Progid"="Notepad++_file"

从表项的名字描述可以看到,OpenWithList 是能够打开该文件的程序列表,其中MRUList 应该是最近打开的该文件的程序排序(MRU:Most Recently Used);而UserChoice 记录的应该是用户选择的文件类型。但其中OpenWithProgids是做什么却不太明白。

于是我找到了一个没有OpenWithProgids表项的后缀文件,在我电脑上是lrc类型文件。该类型后缀下只有OpenWithList子项,其中有一个标记为a的,其打开文件为wps.exe。

然后我新建了一个txt文本文件,将其类型修改为lrc。右键单击,发现没有”打开方式“选项。但是php类型的文件有。于是我在lrc下新建名为OpenWithProgids的项,并添加了一个名为Notepad++_file的二进制值。然后我再右键单击,发现有”打开方式“,并且有Notepad++和WPS两种打开方式。

然后在打开方式中选择Notepad++作为默认程序,然后。就大功告成了。

类似的,我对.m文件做了类似的操作之后,双击.m文件就自动以Notepad++打开了。


然后,世界顿时明媚了起来。

PS:后来搜索了一下Progid,发现原来是PROGrammaticIDentifier的缩写,但具体是什么依然不太明白,但这已经不重要了。



你可能感兴趣的:(笔记)