重新排序IE上下文菜单

时间:2010-08-12 14:44:04

标签: internet-explorer contextmenu bho right-click

我们使用BHO和C#开发了Internet Explorer Addon。我们还添加了一些上下文菜单操作(对于使用插件的IE)。 我们使用了HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ MenuExt \下的注册表条目来添加上下文菜单条目。 有没有办法订购enntries?或添加分隔符?还是嵌套菜单? 目前,他们都按字母顺序排序。 非常感谢!

1 个答案:

答案 0 :(得分:1)

据我所知,不,仍然没有好办法完成这个看似简单的任务。

对于未来的读者,有两种方法(其中一种是OP提及),您可以考虑添加上下文菜单项。

注册表方法

不幸的是,无法使用registry method在Internet Explorer中创建“丰富”菜单。可以使用简单的“上下文”过滤,但仅此而已。要总结链接中描述的此方法,首先在以下位置添加一个新子项:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>

<MenuText>是在Internet Explorer的上下文菜单中显示的文本。使用&加速键确实可以正常工作。

(Default)值设置为要执行的脚本文件的路径。这可能是Javsascript,VB脚本等。如果你正在创建一个BHO,最​​好用你的DLL / EXE打包它;使用res://访问它。例如,我的系统有一个名为E&xport to Microsoft Excel的条目,其值为:

res://C:\PROGRA~2\MICROS~1\Office12\EXCEL.EXE/3000

IDocHostUIHandler方法

此方法有效地用您的BHO以编程方式生成的内容替换IE的整个上下文菜单。虽然非常灵活,但它是highly discouraged。如果不止一个BHO试图这样做,结果可能是灾难性的。我在CodeProject的Pop-Up Blocker tutorial上找到了这个方法的一个工作示例,但由于上述原因,我自己没有尝试过。

进一步阅读:

我正在积极开展一个包含许多这些组件的项目。如果我找到任何简单的解决方案,我会尽量更新这篇文章。