Shell注册表中的Shell和ShellEx有什么区别?

时间:2017-06-03 11:45:36

标签: windows registry shellexecute

我试图在Windows注册表中添加一个自定义上下文菜单,我发现一个shell键和一个shellex键似乎都是同样的东西?为什么有2个,它们用于什么?

1 个答案:

答案 0 :(得分:6)

Shell密钥用于ShellExecute和文件类型上下文菜单使用的static verbs。它们很容易实现,因为它们只是一个指定命令的字符串。如果需要,可以使用可选的COM对象(DropTarget等)进行扩展。

ShellEx密钥用于shell扩展,这些是COM对象,shell中有各种扩展点,每种类型都是ShellEx的子项。 ShellEx\ContextMenuHandlers是纯Shell密钥的shell扩展版本。不同类型的shell扩展名为listed here