是否可以隐藏'使用 Notepad++ 编辑'右键单击某些文件类型时出现上下文菜单选项?
澄清一下,我想保留文本文件类型的编辑选项,例如.txt
、.ini
和.java
。我不想删除或禁用 shell 集成。我想隐藏某些文件类型的选项(例如照片、音乐、视频)。
答案1
这使用 Notepad++ 编辑选项由默认为所有文件类型注册的 shell 扩展提供。我认为如果不编辑 shell 扩展本身,您就无法隐藏特定文件类型的选项。相反,您可以删除所有文件类型的注册,然后仅将其添加到您想要的文件类型。
首先,将密钥HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ANotepad++
(32 位)或HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ANotepad++64
(64 位)导出到文件.reg
。作为参考,以下是 64 位系统上的示例:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ANotepad++64]
@="{B298D29A-A6ED-11DE-BA8C-A68E55D89593}"
然后,删除该密钥。这将立即删除使用 Notepad++ 编辑所有文件上的选项。
最后复制文件.reg
,将其替换*
为您想要的文件类型使用 Notepad++ 编辑选项。这必须是文件类型类,而不是文件扩展名;您可以通过查看文件扩展名的键上的默认值来找到文件类型类(尽管它可能被 中的用户首选项覆盖HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
)。例如,对于.txt
,这是txtfile
默认的。您还可以复制该部分并为每个部分指定不同的文件类型,然后将新.reg
文件导入注册表,您应该会看到使用 Notepad++ 编辑选项仅适用于您指定的文件类型。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers\ANotepad++64]
@="{B298D29A-A6ED-11DE-BA8C-A68E55D89593}"
[HKEY_CLASSES_ROOT\inifile\shellex\ContextMenuHandlers\ANotepad++64]
@="{B298D29A-A6ED-11DE-BA8C-A68E55D89593}"
答案2
下载记事本++以 7zip 或 Zip 文件形式从此存储库独立执行https://notepad-plus-plus.org/repository/。现在解压压缩文件,您就可以运行 Notepad++ 了。例如这里是 7.0 版本的 URL;
- 64 位 7zip 文件::https://notepad-plus-plus.org/repository/7.x/7.0/npp.7.bin.x64.7z
- 64 位 Zip 文件::https://notepad-plus-plus.org/repository/7.x/7.0/npp.7.bin.x64.zip
删除 shell 集成,打开 cmd.exe 并 cd 到您的安装文件夹。此时,关闭 Notepad++,输入命令regsvr32 /u NppShell.dll
。查看更多::将 Notepad++ 添加到上下文菜单。
要为所有文件类型添加上下文菜单,请使用此注册表脚本。假设 Notepad++ 可执行文件保存在“E:\Notepad”中。
[HKEY_CLASSES_ROOT\*\shell\Notepad++] "Extended"="" [HKEY_CLASSES_ROOT\*\shell\Notepad++\command] @="\"E:\\Notepad\\notepad++.exe\" \"%1\""
请注意,该extended
值将隐藏上下文菜单,仅当您按下 Shift 键并单击鼠标右键时才会显示。或者,您可以使用以下命令创建文件类型并根据需要关联任何扩展名::
ftype NotepadPlus="E:\Notepad\notepad++.exe" "%1" assoc .txt=NotepadPlus