我已经遵循本指南@http://www.howtogeek.com/107965/how-to-add-any-application-shortcut-to-windows-explorers-context-menu/在我的注册表中创建一个上下文菜单。
请问是否可以包含除快捷方式(带有 lnk 扩展名)之外的所有文件类型的菜单?
目前我正在使用所有文件类型方法(HKEY_CLASSES_ROOT*\shell),但它也出现在快捷方式(.lnk 文件)中。
请指教。
答案1
一种可能的解决方案是,通过在 上创建具有相同键名的条目来覆盖 lnk 文件的菜单HKEY_CLASSES_ROOT\lnkfile\shell
。例如,如果“所有文件类型”菜单为
[HKEY_CLASSES_ROOT\*\shell\DateTimeTool]
@="DateTime Tool"
那么新的值将是
[HKEY_CLASSES_ROOT\lnkfile\shell\DateTimeTool]
@="DateTime Tool (for shortcut)"
这不会删除条目,但它会为您提供快捷方式的路径而不是引用的文件。
答案2
您设置的程序打开的是这些 .lnk 快捷方式的目标,而不是 .lnk 文件本身,对吗?如果是这样,那就应该如此。打开快捷方式时,您应该期望它被视为目标文件本身。
至于排除某些文件扩展名,如果您通过通配符 * 键为所有文件类型进行设置,则不可能。
多年来,我一直使用文本编辑器设置相同的注册表破解。具有一定的“打开方式”一致性真是太好了。
顺便说一下,您可以给它一个图标:在您的“打开方式”键内,创建一个名为“Icon”的新字符串,并将其设置为您的程序或图标路径。