在DISPID_DOCUMENTCOMPLETE如果我在DOM从一个工作线程附加一个onclick处理特定元素,则该事件没有得到同时单击它发射,可能是什么原因呢?这是工作的罚款,如果我从主线程连接的事件处理程序,但我希望异步做的事情。

我使用CoMarshalInterThreadInterfaceInStream和CoGetInterfaceAndReleaseStream对线程之间传递IID_IWebBrowser2指针。

有帮助吗?

解决方案

什么是你的工作线程做的,什么是事件处理程序的线程模型?如果线程模型是STA,然后工人线程需要定期地抽取消息,或者如果它等待同步,那么它应该使用CoWaitFor...职能,确保COM消息将被处理。或者,您可以聚集自由线程编组,但要确保你的对象是线程安全的,并且不调用出来,如果你这样做,可能会给你一个线程模型误差任何其他COM接口。

也许,网页浏览器控制不与MTA兼容,所以你将不能够把它放在那。在任何情况下,MTA是不与用户界面线程兼容,使得规则进行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top