3

我如何在 .net 中为 ie 开发插件。我基本上是想开发一个像 IE7Pro 这样的内联拼写检查插件。

4

3 回答 3

2

您可能想尝试:http ://code.msdn.microsoft.com/SpicIE

但总的来说,托管附加组件并不理想,因为 .net 并没有并行处理。因此,如果另一个附加组件使用 .net,则要加载的第一个附加组件将确定其他附加组件使用的 .net 版本,这会很快导致问题。

于 2009-12-09T21:15:57.300 回答
2

看看这个:开发 IE 附加组件

于 2009-12-03T15:52:48.097 回答
0

您需要创建一个伪装成 COM 对象的 EXE/DLL,即 CCW(COM 可调用包装器),它在 .NET 和 COM 的两侧看起来就像实现 IDispatch、IUnknown 接口和许多其他接口的本机 COM 对象。

您必须遵守 COM 接口,以便 IE 能够“看到”您的 .NET 代码。但是,我无法提供 IE 的详细信息,说明它需要哪些接口才能让 IE 调用您的 .NET 运行时方法,因为这超出了我的范围。

但这里的重要关键字是 CCW。是一篇关于CodeProject的文章,展示了它是如何完成的,虽然不一定是关于创建 IE 插件,但会展示如何创建 CCW。

它是通过在你的类和方法上设置一个属性来完成的。

[指导(some_guid)]
[接口类型(ComInterfaceType.InterfaceIsIDispatch)]

如上所示的some_guid将通过 VS 的“工具”菜单下的“创建 GUID”工具生成。

根据 IE 连接到您的 .NET 类所需的内容,它会将其视为具有 IUnknown、IDispatch 接口的“本机”COM 对象,仅举几例

希望这会给你正确的方向和提示,最好的问候,汤姆。

于 2009-12-03T16:52:52.360 回答