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)组件。除了用对象创建的线程之外,它不能用于任何其他线程。并且该线程需要有一个消息泵(例如Application.Run在 WinForms 中)。

有关如何执行此操作的更多详细信息,请参阅新线程中的 WebBrowser Control

于 2012-09-22T17:35:21.913 回答