我可以隐藏某些文件类型的“使用 Notepad++ 编辑”吗?

我可以隐藏某些文件类型的“使用 Notepad++ 编辑”吗?

是否可以隐藏'使用 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;

删除 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

相关内容