1

我有一个在 Internet Explorer 和 ActiveX 控件测试容器程序中运行良好的 ActiveX 控件。控件的实际行为分为两部分,其中一部分是与 OLE 主机接口的 ATL gunk,另一部分是真正的肉,它只接收窗口附加、调整大小、绘图和鼠标/键盘的回调事件。

现在,我想为 Firefox 插件编写 ATL gunk 的等价物(理想情况下在同一个二进制文件中,因此我不需要链接两个二进制文件,但我可以在这里灵活)。我已经下载并使用 Gecko SDK 构建了一个 XPCOM 组件,这似乎可行,但我不知道要实现哪些接口以使该组件可用作 Firefox 中的嵌入式本机 UI 组件。这与 Flash 播放器插件、PDF 查看器插件、QuickTime 播放器插件等的需求类似——javascript 和 XUL 还不够。

我在网上找了一些例子,但我能找到的唯一例子是基于看似古老的 NS_PluginInitialize() / NS_NewPluginInstance() 接口,它不是 XPCOM(但有其他名称?)。

有没有办法通过 XPCOM 实现同样的事情?如果是这样,怎么做?并且是否存在任何关于如何执行此操作的概述文档(不仅仅是界面成员列表)?

4

1 回答 1

1

Aaaand 答案刚刚在另一个网络搜索中弹出。好吧,至少一些绳子的开头,当拉得足够长时,可能会回答这个问题。

https://developer.mozilla.org/en/Gecko_Plugin_API_Reference/Plug-in_Basics#Windowed_and_Windowless_Plug-ins

于 2009-04-22T17:51:21.700 回答