给Notepad++ 加右键菜单带图标的实现方法

时间:2021-05-22

从网上下载下来的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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章