我正在開發一個嵌入了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