右键单击上下文菜单位置在右键单击不同对象时变为已更改

时间:2010-11-19 10:00:34

标签: c++ windows com

我创建了一个ShellExtension,它将“启动N应用程序”添加到Windows右键菜单中。

但问题是,上下文的位置并不固定。当我右键单击驱动器时,它会显示在第3个位置,或者如果我右键单击某个文件,则它会从第5个位置开始。我可以让它始终出现在特定的位置。

1 个答案:

答案 0 :(得分:1)

该位置不仅会根据“注册入口点”而有所不同,还会受到安装的扩展数量和安装顺序的影响。订单可能也会根据操作系统版本而变化,如果停止等(XP添加了“Pin to Startmenu”,Vista添加了“Copy as Path”)

如果你想要它在一个特定的位置,你可以忽略IContextMenu告诉你的东西,并始终将它插入顶部/底部等但如果它们依赖于菜单项的顺序而不仅仅是命令,这可能会破坏IContextMenu主机ID! (还有一些其他扩展可以和你做同样的事情)