我正在为 Internet Explorer 编写浏览器助手对象,我需要从“静态”(或“全局”)回调方法对所有打开的浏览器实例调用 javascript 方法。
我遇到的问题肯定与 COM 中的多线程有关。我的问题是:
每个浏览器都会有自己的
IWebBrowser2
对象指向CComPtr<IWebBrowser2>
. 如果我的 BHO 类中有一个静态回调方法,该回调将到达哪个线程?它会是 IE 创建的任何 BHO 线程吗?我试图缓存
IWebBrowser2
在每个 BHO 中创建的所有指针,然后从静态方法中访问它们。但是,我认为涉及到一些(非)编组问题。这行得通吗?关于这样做的好/不同方法的任何建议?