给Notepad++ 加右键菜单带图标的实现方法
脚本之家
从网上下载下来的Notepad++
http://download.tuxfamily.org/notepadplus/6.3.3/npp.6.3.3.bin.zip
解压之后,可以直接使用, 但是右键菜单中没有它,非常不方便,
本文使用三种方式给Notepad++注册右键菜单功能,他们只有稍微的区别:
方式一:
如下建立一个reg文件,拷贝如下内容并替换相关路径, 保存,双击运行加入注册表就好了.
Windows Registry Editor Version 5.00</p> <p>[HKEY_CLASSES_ROOT\*\shell\NotePad++]
@="用&Notepad++打开"
"Icon"="C:\\Program Files (x86)\\Notepad++\\Notepad++.exe"</p> <p>[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</p> <p>[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Notepad++]
@="{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"</p> <p>[HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}]
@="Notepad++"</p> <p>[HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InprocServer32]
@="D:\\Program Files\\Notepad++\\notepad++.exe"
"ThreadingModel"="Apartment"</p> <p>[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</p> <p>[-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卸载工具</p> <p>SetLocal EnableDelayedExpansion
echo 1.添加Notepad++右键菜单
echo ------------------------
echo 2.卸载Notepad++右键菜单
echo ------------------------</p> <p>Set /p u=请输入数字并按Enter确定:</p> <p>If "%u%"=="1" Goto regnp++
If "%u%"=="2" Goto unregnp++</p> <p>:regnp++
regsvr32 NppShell_04.dll
exit</p> <p>:unregnp++
regsvr32 /u NppShell_04.dll
exit