我正在尝试在一些后台线程中使用一堆网络浏览器。当我使用在设计视图中放置在表单上但现在在运行时创建的 webbrowser 控件时,这没有问题。
我全局声明 webbrowsers 数组:
Dim webbroswers(-1) As WebBrowser
以下代码在主线程上:
ReDim Preserve webbroswers(somenum)
For i = 0 To sumnum
webbroswers(currentbrowsermax + i) = New WebBrowser
Next
然后这段代码在后台线程上运行:
If webbroswers(num).InvokeRequired Then
webbroswers(num).Invoke(Sub() webbroswers(num).Navigate(someurl))
Else
webbroswers(num).Invoke(Sub() webbroswers(num).Navigate(someurl))
此时程序崩溃并出现以下错误:
无法获取“WebBrowser”控件的窗口句柄。不支持无窗口 ActiveX 控件。
对此的任何帮助都会很棒。另外,如果有人知道如何抑制脚本错误,那么我认为这可能会有所帮助。我试过: WebBrowser(num).ScriptErrorsSuppressed = True 但这不起作用(在主线程上运行时它在我的代码的其他地方也不起作用)谢谢!