> 文章列表 > 给Notepad++ 加右键菜单带图标的实现方法

给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