1

クラスに2つのメソッドがあります(login()およびchange())。

そのクラスには、プロパティもあります ( webBrownser wb)

login()スレッドごとに呼び出します

Thread tLogin = new Thread(b.doLogin);
tLogin.SetApartmentState(ApartmentState.STA);
tLogin.Start();

change()スレッドによる方法も

 Thread tLike = new Thread(b.autoLike);
 tLike.SetApartmentState(ApartmentState.STA);
 tLike.Start();

しかし、メソッドchange()がプロパティwbを使用しようとすると、次のメッセージが表示されます。

基になる RCW から分離された COM オブジェクトは使用できません。

私は何を間違っていますか?

メソッドは同期されていlock()ます...

4

1 に答える 1

0

WebBrowser は COM (または ActiveX) コンポーネントです。object で作成したスレッド以外では使用できません。そして、そのスレッドにはメッセージ ポンプが必要です (例: Application.RunWinForms)。

これを行う方法の詳細については、新しいスレッドの WebBrowser コントロールを参照してください。

于 2012-09-22T17:35:21.913 に答える