WebBrowser怎么获取里面的网页句柄
我做了一个程序,WebBrowser控件里访问一个网页,但这个网页的句柄我仅只能依靠鼠标指向的的方式获取WebBrowser里面的网页句柄。我想知道,还有什么别的方法吗?...
我做了一个程序,WebBrowser控件里访问一个网页,但这个网页的句柄我仅只能依靠鼠标指向的的方式获取WebBrowser里面的网页句柄。我想知道,还有什么别的方法吗?谢谢!
展开
2个回答
展开全部
代码如下,根据你的需要自行调整即可:
'测试绑定网页中测试按钮单击事件
Dim doc As HtmlDocument = webMain.Document
Dim btnTest As HtmlElement = doc.All("btnTest")
'委托处理事件的处理程序
If Not IsNothing(btnTest) Then
AddHandler btnTest.Click, AddressOf btnTest_Click
End If
Private Sub btnTest_Click(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim obj As HtmlElement = CType(sender, HtmlElement)
Debug.Print("接收到 " & obj.Id & " 的 " & e.EventType & " 事件")
End Sub
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
展开全部
Private Function GetWebHwnd(ByVal hWnd As Long) As Long
Dim qHwnd As Long
Dim tHwnd As Long
qHwnd = hWnd
tHwnd = FindWindowEx(qHwnd, 0, "Shell Embedding", vbNullString)
tHwnd = FindWindowEx(tHwnd, 0, "Shell DocObject View", vbNullString)
tHwnd = FindWindowEx(tHwnd, 0, "Internet Explorer_Server", vbNullString)
GetWebHwnd = tHwnd
End Function
调用方法: WebHwnd = GetWebHwnd(hwnd)
'这个HWND是你的WebBrowser控件句柄,得到的是Internet Explorer_Server最终显示层句柄,也就是你鼠标GET的句柄。可以用SPY++查看父子层关系。
这个函数我自己写的,不是网上找的,,给分吧..
Dim qHwnd As Long
Dim tHwnd As Long
qHwnd = hWnd
tHwnd = FindWindowEx(qHwnd, 0, "Shell Embedding", vbNullString)
tHwnd = FindWindowEx(tHwnd, 0, "Shell DocObject View", vbNullString)
tHwnd = FindWindowEx(tHwnd, 0, "Internet Explorer_Server", vbNullString)
GetWebHwnd = tHwnd
End Function
调用方法: WebHwnd = GetWebHwnd(hwnd)
'这个HWND是你的WebBrowser控件句柄,得到的是Internet Explorer_Server最终显示层句柄,也就是你鼠标GET的句柄。可以用SPY++查看父子层关系。
这个函数我自己写的,不是网上找的,,给分吧..
追问
你好啊,你这句运行不了FindWindowEx我是外行,但我知道要声明它的定义,但我不知道去哪找,能否再指点一二呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询