Notepad++有安装版和压缩版,安装版装支持鼠标右键菜单直接编辑文件,而压缩版没有提供选项增加这个功能,理论上任何程序都可以做到右键菜单中。
通过参考安装版的Notepad版的注册表增加内容,可以发现,以下内容实现了右键菜单

 Windows Registry Editor Version 5.00
 [HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Notepad++]
 @="{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"
 [HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}]
 @="Notepad++"
 [HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InprocServer32]
 @="C:\\Program Files\\Notepad++\\NppShell_04.dll"
 "ThreadingModel"="Apartment"
 [HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings]
 "Title"="Edit with &Notepad++"
 "Path"="C:\\Program Files\\Notepad++\\notepad++.exe"
 "Custom"=""
 "ShowIcon"=dword:00000001
 "Dynamic"=dword:00000001
 "Maxtext"=dword:00000019

如果你的程序路径是默认的,可以把上面文字存成add.reg文件导入就可以了。
由于我希望把它做成通用方式,所有又参考了一下其他软件的绿化方法,把它做成了addreg.inf文件,内容如下

 [Version]
 Signature="$CHICAGO$"
 Provider=penglei.cn,2006
 [DefaultInstall]
 AddReg=Notepad_AddReg
 [Notepad_AddReg]
 hkcr,"*\shellex\ContextMenuHandlers\Notepad++",,,"{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InProcServer32","ThreadingModel",,"Apartment"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InProcServer32",,,"%01%\NppShell_04.dll"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings","Title",,"Edit with &Notepad++"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings","Path",,"%01%\notepad++.exe"
 [Strings]

为了方便还可以将以下内容存成addreg.bat,用于直接运行

rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 .\AddReg.inf

如果需要建立删除邮件的话,对应着删除这几个注册表键值就可以了,也可以做成以上方式。
还有一点需要注意的是,如果你用压缩包版的文件,还需要从安装版里安装并拷贝一个NppShell_04.dll出来(现在5.9版本对应这个名字,以后根据实际文件名再更改就可以了)

标签: none

添加新评论