要添加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。:我不想只复制文件类型,因为将来对原始文件类型的更改不会影响重复的文件类型。
答案 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\""