Add a Windows Shell context menu entry for a specific extension (not file type)

拟墨画扇 提交于 2019-11-27 14:12:32

问题


To add a Windows shell context menu, let's say for .txt files - if the .txt extension in HKEY_CLASSES_ROOT (or in HKEY_CURRENT_USER\Software\Classes, doesn't really matter) has the default value (file type) txtfile - you add the command to HKEY_CLASSES_ROOT\txtfile\shell\yourcommand (and the command itself in HKEY_CLASSES_ROOT\txtfile\shell\yourcommand\command, of course) and there you go.

However, let's say the .txt extension instead has the default value Notepad++_file. Notepad++_file might be the file type for many other extensions, so if you add the command to HKEY_CLASSES_ROOT\Notepad++_file, then this command will appear for every extension associated with Notepad++.

So, the question is: how can you add a menu entry for ONLY ONE specific EXTENSION, without changing its file type, if possible at all?

P.S.: I don't want to just duplicate the file type, because future changes to the original file type won't affect the duplicated one.


回答1:


Here you go:

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\""

The line "AppliesTo"=".nfo" does the trick.

Works perfectly on Windows 10.

It works per file extension, regardless if there is an application associated with that extension or not. Doing this way it less invasive and leaves a very small footprint in the registry.

Compare to Add menu item to windows context menu only for specific filetype


Edit:

If you want to apply that command to more than one extension use:

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

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



来源:https://stackoverflow.com/questions/21362892/add-a-windows-shell-context-menu-entry-for-a-specific-extension-not-file-type

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!