我编写了一个允许托管ActiveX控件的Firefox插件(仅与FF3 atm兼容)。
在燃烧开始之前 - 这不是这个问题的主要话题,并且该插件的设计考虑到安全性,因此它不会中断我最喜欢的浏览器。如果你有兴趣,它在http://code.google.com/p/ff-activex-host/托管。ActiveX控件中的OnReadyStateChange事件
现在,我已经注意到,在IE中,所有ActiveX控件都有一个名为OnReadyStateChange的事件可用,但是,并非所有ActiveX控件都在其TypeLib中列出了该事件。因此,我的插件无法为每个ActiveX控件注册此事件的处理程序。
用OleView打开这样的控件,我也找不到OnReadyStateChange事件 - 导致我相信IE可能在这里“作弊”,使它工作。当OleView显示这样的处理程序时(与Shockwave ActiveX控件一样),我没有注册处理程序的麻烦。
这种控件的一个例子是微软的终端服务ActiveX。但这不仅限于MS ActiveX控件的问题。
我不是COM对象的专家,我是以错误的方式或错误的地方搜索事件吗?
现在我想我做得很对,因为OleView无法找到它,所以...
我可以以某种方式'作弊'的方式IE浏览器做,并使该事件可用无论如何?
谢谢!如果您能指出我自己需要做什么来实现这样一个总体的总体方向,我也会很感激。 很难找到msdn上的任何东西,除非你有一个开始的API调用的名称。 – 2009-02-17 12:03:16