为特定扩展(不是文件类型)添加Windows Shell上下文菜单项

时间:2014-01-26 11:39:55

标签: windows registry contextmenu

要添加Windows shell上下文菜单,请假设.txt文件 - .txt 扩展名 HKEY_CLASSES_ROOT(或HKEY_CURRENT_USER\Software\Classes ,并不重要)具有默认值(文件类型txtfile - 您将命令添加到HKEY_CLASSES_ROOT\txtfile\shell\yourcommand(以及HKEY_CLASSES_ROOT\txtfile\shell\yourcommand\command中的命令本身,当然)然后你去。

但是,假设.txt 扩展程序具有默认值Notepad++_file。对于许多其他扩展Notepad++_file可能是文件类型,因此如果将命令添加到HKEY_CLASSES_ROOT\Notepad++_file,则每个<与Notepad ++相关联的em> extension 。

所以,问题是:如果可能的话,如何只为一个特定的EXTENSION 添加菜单条目而不更改其文件类型

P.S。:我不想只复制文件类型,因为将来对原始文件类型的更改不会影响重复的文件类型。

1 个答案:

答案 0 :(得分:15)

你走了:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\your custom app]
@="Open with your custom app"
"icon"="C:\\Windows\\notepad.exe,0"
"AppliesTo"=".nfo"

[HKEY_CLASSES_ROOT\*\shell\your custom app\command]
@="C:\\Windows\\notepad.exe \"%1\""

"AppliesTo"=".nfo"可以解决这个问题。

在Windows 10上完美运行。

无论是否有与该扩展程序关联的应用程序,它都适用于每个文件扩展名。这样做可以减少入侵,并在注册表中留下非常小的空间。

Add menu item to windows context menu only for specific filetype

比较

编辑:

如果要将该命令应用于多个扩展名,请使用:

"AppliesTo"="System.FileName:\"*.nfo\" OR System.FileName:\"*.log\""

信用:https://superuser.com/questions/183785/windows-7-context-menu-for-folders-if-folder-contains-certain-filetypes