给Notepad++ 加右键菜单带图标的实现方法
从网上下载下来的Notepad++
http://download.tuxfamily.org/notepadplus/6.3.3/npp.6.3.3.bin.zip
解压之后,可以直接使用, 但是右键菜单中没有它,非常不方便,
本文使用三种方式给Notepad++注册右键菜单功能,他们只有稍微的区别:
方式一:
如下建立一个reg文件,拷贝如下内容并替换相关路径, 保存,双击运行加入注册表就好了.
复制代码
代码如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/*/shell/NotePad++]
@=\"用&Notepad++打开\"
\"Icon\"=\"C://Program Files (x86)//Notepad++//Notepad++.exe\"
[HKEY_CLASSES_ROOT/*/shell/NotePad++/Command]
@=\"C://Program Files (x86)//Notepad++//Notepad++.exe /\"%1/\"\"
卸载命令也保存为reg文件,拷贝如下内容, 保存,双击运行加入注册表就好了
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT/*/shell/NotePad++]
方式二:
在另一台正常安装Notepad++的系统里,看到其使用“Notepad++”编辑配置的位置不同,在HKEY_CLASSES_ROOT/*/shellex/ContextMenuHandlers下。依然是使用注册表,相关注册表信息如下:
复制代码
代码如下:
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]
@=\"D://Program Files//Notepad++//notepad++.exe\"
\"ThreadingModel\"=\"Apartment\"
[HKEY_CLASSES_ROOT/CLSID/{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}/Settings]
\"Title\"=\"Edit with &Notepad++\"
\"Path\"=\"D://Program Files//Notepad++//notepad++.exe\"
\"Custom\"=\"\"
\"ShowIcon\"=dword:00000001
\"Dynamic\"=dword:00000001
\"Maxtext\"=dword:00000019
卸载命令如下:
复制代码
代码如下:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT/*/shellex/ContextMenuHandlers/Notepad++]
[-HKEY_CLASSES_ROOT/CLSID/{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}]
方式三:
如果你的目录中包含了NppShell_03.dll或者NppShell_04.dll或者NppShell_05.dll,不同的版本里面的这个文件名称不一样。你也可以到网上下载一个这样的dll文件,如果有这样的文件,把下面的代码用记事本保存为“Notepad++右键菜单添加or卸载工具.bat”,放到Notepad++的安装目录下面或者NppShell_04.dll在相同的目录下面执行即可。代码如下:
复制代码
代码如下:
@Echo Off
title Notepad++右键菜单添加or卸载工具
SetLocal EnableDelayedExpansion
echo 1.添加Notepad++右键菜单
echo ------------------------
echo 2.卸载Notepad++右键菜单
echo ------------------------
Set /p u=请输入数字并按Enter确定:
If \"%u%\"==\"1\" Goto regnp++
If \"%u%\"==\"2\" Goto unregnp++
:regnp++
regsvr32 NppShell_04.dll
exit
:unregnp++
regsvr32 /u NppShell_04.dll
exit



