【发布时间】:2013-02-21 10:51:58
【问题描述】:
需要将项目添加到特定文件类型的上下文菜单。在 Windows 7 和以前的版本中,通过添加来完成
HKEY_CLASSES_ROOT\<extension>\shell\<commandname>\command
值为
的键@="<path_to_app> \"%1\""
到注册表。 在 Windows 8 中不起作用。即使在删除了相应类型的 PersistentHandler 键之后:
有趣的是,如果 shell/command 键写在 HKEY_CLASSES_ROOT\*\ 部分,上下文菜单项会按预期出现在所有文件的菜单中,但如果我需要将我的应用程序添加到仅 2-3文件类型而不破坏任何现有的关联。
我在 C# 中使用Microsoft.Win32.Registry.ClassesRoot 来实现此逻辑,但问题绝对不在代码中,因为 a) 它适用于 Windows 7 b) 在 Windows 8 中使用管理员权限进行手动编辑不会添加所需的关联。
【问题讨论】:
标签: c# windows-8 registry contextmenu file-type