我如何在 .net 中为 ie 开发插件。我基本上是想开发一个像 IE7Pro 这样的内联拼写检查插件。
3 回答
您可能想尝试:http ://code.msdn.microsoft.com/SpicIE
但总的来说,托管附加组件并不理想,因为 .net 并没有并行处理。因此,如果另一个附加组件使用 .net,则要加载的第一个附加组件将确定其他附加组件使用的 .net 版本,这会很快导致问题。
看看这个:开发 IE 附加组件
您需要创建一个伪装成 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 对象,仅举几例
希望这会给你正确的方向和提示,最好的问候,汤姆。