我正在为Internet Explorer编写一个浏览器帮助对象,并且我需要从静态(或全局)回调方法调用所有打开的浏览器实例上的javascript方法。从BHO的静态方法在网页上调用JavaScript
我遇到了我确定与COM中的多线程相关的问题。我的问题是:
每一个浏览器将有自己的
IWebBrowser2
对象通过CComPtr<IWebBrowser2>
指向。如果我在我的BHO类中有一个静态回调方法,那个回调会到达哪个线程?它是否是由IE创建的BHO线程中的任何一个?我试着缓存所有在每个BHO中创建的
IWebBrowser2
指针,并在以后从静态方法中访问它们。不过,我认为还有一些(不)涉及编组问题。这会工作吗?对此有何建议?