WebBrowser 跨线程操作中的一些问题

WebBrowser 必须是单线程的, 如果我在另一个线程调用invoke, 那么这个invoke将返回错误.妥协的办法是通过发送消息(SendMessage)来变相实现跨线程控制.  

         但是其中有一个问题,必须要解决, 因为跨线程,所以计数问题必须要考虑. 对于invoke对象的 IDispatch 指针,必须增加计数,同时,对于DISPPARAMS中的 IDispatch 对象同样要增加计数.   否则有可能在SendMessage时,对象已然被WebBrowser销毁( JScript.dll 控制js ), 使程序崩溃.

posted on 2009-01-02 01:18  norsd  阅读(137)  评论(0编辑  收藏  举报

导航