我正在开发一个嵌入了WebBrowser控件(IWebBrowser2
)的Windows应用程序。IWebBrowser2和多线程的公寓?
事情看起来好,如果我初始化COM公寓作为单线程:
CoInitialize(NULL);
但是,如果我将其更改为多线程:
CoInitializeEx(NULL, COINIT_MULTITHREADED);
然后开始失效与各地的地方返回值:
由于应用程序正在调度输入同步调用,因此无法进行传出呼叫。
从调用IWebBrowser2的方法。
有人可以告诉我怎么解决这个问题吗?我必须使用多线程的公寓作为要求。请帮忙!
到底为什么你需要使用MTA? – sharptooth 2010-09-15 05:04:38
其实我们并不确定...应用程序实际上同时使用了iTunes COM和IWebBrowse2 COM,当我们使用STA时,除非我们使用MTA,否则执行看起来不顺畅。但是,MTA似乎打破了IWebBrowser2。 – TopQ 2010-09-15 08:26:34
你知道你可以用STA做多线程吗? – wqw 2010-09-15 17:26:02