WebBrowser 跨執行緒操作中的一些問題
WebBrowser 必須是單執行緒的, 如果我在另一個執行緒呼叫invoke, 那麼這個invoke將返回錯誤.妥協的辦法是通過傳送訊息(SendMessage)來變相實現跨執行緒控制.
但是其中有一個問題,必須要解決, 因為跨執行緒,所以計數問題必須要考慮. 對於invoke物件的 IDispatch 指標,必須增加計數,同時,對於DISPPARAMS中的 IDispatch 物件同樣要增加計數. 否則有可能在SendMessage時,物件已然被WebBrowser銷燬( JScript.dll 控制js ), 使程式崩潰.