2010-08-12 84 views
1

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

回答

1

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

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

注册表方法

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

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方法

这种方法可有效取代IE的整个上下文菜单中选择一个您的BHO产生编程。虽然非常灵活,但它是highly discouraged。如果不止一个BHO试图这样做,结果可能是灾难性的。我在CodeProject的Pop-Up Blocker tutorial上找到了这个方法的一个工作例子,但是由于上述原因我没有尝试过。

延伸阅读:

我积极工作的一个项目,该项目包含许多组件。如果我找到任何直接的解决方案,我会尽量保持这篇文章的更新。

+0

+ 1,虽然你不由的海报,你肯定有所帮助我,谢谢。 – 2011-07-15 17:48:46