1. 程式人生 > >c#中的webbrowser 多執行緒 【轉載】

c#中的webbrowser 多執行緒 【轉載】

我們在做採集軟體的時候

有些網站通過直接分析html文字是很麻煩的事情

在利用WinForm程式設計的情況下

有一種更好的方式當然是分析HtmlDocument

然而,這HtmlDoucment並不能直接建立

它必須由 WebBroswer控制元件Navigate生成一個頁面後

才能取得wb.HtmlDocument

然後就可以對HtmlDocument的各元素、標籤進行分析。

事實上,在採集的時候

並不是採集只會採集單個頁面

這樣的話,在主窗體中就可以完成

譬如採集一些列表頁面,有N多個頁

那麼,一個迴圈下去,

用WebBrowser去響應,那就會導致假死

這時候,我們肯定會想到用多執行緒去做這件事情

C#的多執行緒,

大家應該都知道,有STA,MTA兩種模式

然而,WebBrowser控制元件卻有一個不好的特點

那就是:它只支援多執行緒STA模式

例如下面的程式碼,