vb.net - vb.net - 如何在多线程下获取 webbrowser InnerHtml
问题描述
我SetApartmentState
在浏览器中使用:
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Dim th As System.Threading.Thread = New Threading.Thread(AddressOf Task_A)
th.SetApartmentState(ApartmentState.STA)
th.Start()
End Sub
Public Sub Task_A()
Dim frmBuild = New NewForm()
Dim WebBrowser1 = New WebBrowser()
Application.Run(frmBuild)
frmBuild.Controls.Add(WebBrowser1)
WebBrowser1.CreateControl()
End Sub
Private Delegate Function GetInnerHTMLCallBack() As String
Private Function GetInnerHTML() As String
If WebBrowser1.InvokeRequired Then
Return CStr(WebBrowser1.Invoke(New GetInnerHTMLCallBack(AddressOf GetInnerHTML)))
Else
Return WebBrowser1.Document.Body.InnerHtml
End If
End Function
Dim innerHTML As String = GetInnerHTML()
frmMain.textbox1.text=innerHTML
Dim docs As mshtml.HTMLDocument = WebBrowser1.Document.DomDocument
我什么也没得到,如何在交叉线程中获取或设置字符串?我在多线程方面很差。
解决方案
推荐阅读
- reactjs - React 和 typescript fortawesome 类型
- r - 如何从 dfm 中删除稀有术语?
- java - 在Android中具有固定点数的谷歌地图用户可编辑多边形?
- jmeter - 如何使用Jmeter中的正则表达式提取器提取避免特殊字符
- gatsby - 我无法通过 Gatsby 连接到 Contentful
- r - 有条件地彩色条形图
- c# - 使用 ReplaceOne 执行 Upsert,但如果记录存在则递增其中一个字段
- powershell - 使用 powershell 从 Excel 获取数据并将其写入 CSV 文件
- php - Laravel HTTP 客户端缺少正文参数
- amazon-web-services - 为什么以下 dynamoDB 使用条件表达式写入成功?