VB 怎样在webbrowser控件中鼠标左键点击后的位置
VB怎样在webbrowser控件中鼠标左键点击后的位置WebBrowser控件没有MouseMove事件谢谢,有没有完整代码能否通过APIGetCursorPos函数获...
VB 怎样在webbrowser控件中鼠标左键点击后的位置
WebBrowser控件没有MouseMove事件
谢谢,有没有完整代码
能否通过API GetCursorPos 函数获取? 展开
WebBrowser控件没有MouseMove事件
谢谢,有没有完整代码
能否通过API GetCursorPos 函数获取? 展开
2个回答
展开全部
由于WebBrowser1没有鼠标相关的事件,所以我们可以这样做...
在WebBrowser1加载完网页的时候在网页内注入一段Java脚本代码,来绑定鼠标按下事件,并通过页面转向的方式(一个自定义的url)来传递给vb,WebBrowser1在离开当前页面前会触发WebBrowser1_BeforeNavigate2事件,我们可以在WebBrowser1_BeforeNavigate2中检测url,如果是自定义的,就分析xy
以下代码在vb6中通过测试
Option Explicit
Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com"
End Sub
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
'判断将要打开的网页的url,如果是我们自定义的mouse://协议,就进行处理
If Left(URL, 8) = "mouse://" Then
'让网页不要跳转
Cancel = True
Dim tmp, x, y
'过滤url
tmp = Replace(URL, "mouse://", "")
tmp = Replace(tmp, "/", "")
tmp = Split(tmp, "|")
'提取x,y坐标
x = tmp(0)
y = tmp(1)
Debug.Print x
Debug.Print y
End If
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------
'这里是在WebBrowser1加载网页完成后,在WebBrowser1中执行一段js脚本,用来绑定鼠标按下事件
'当鼠标按下以后,js会控制网页跳转到 mouse://x|y 的页面,上面的代码可以截获这个协议
Dim js As String
js = "document.body.onclick=function()" & vbCrLf & _
"{location.href='mouse://'+window.event.x+ '|'+window.event.y;}"
WebBrowser1.Document.parentWindow.execScript js, "javascript"
'------------------------------------------------
Exit Sub
'----------------
ToExit:
Resume Next
End Sub
在WebBrowser1加载完网页的时候在网页内注入一段Java脚本代码,来绑定鼠标按下事件,并通过页面转向的方式(一个自定义的url)来传递给vb,WebBrowser1在离开当前页面前会触发WebBrowser1_BeforeNavigate2事件,我们可以在WebBrowser1_BeforeNavigate2中检测url,如果是自定义的,就分析xy
以下代码在vb6中通过测试
Option Explicit
Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com"
End Sub
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
'判断将要打开的网页的url,如果是我们自定义的mouse://协议,就进行处理
If Left(URL, 8) = "mouse://" Then
'让网页不要跳转
Cancel = True
Dim tmp, x, y
'过滤url
tmp = Replace(URL, "mouse://", "")
tmp = Replace(tmp, "/", "")
tmp = Split(tmp, "|")
'提取x,y坐标
x = tmp(0)
y = tmp(1)
Debug.Print x
Debug.Print y
End If
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------
'这里是在WebBrowser1加载网页完成后,在WebBrowser1中执行一段js脚本,用来绑定鼠标按下事件
'当鼠标按下以后,js会控制网页跳转到 mouse://x|y 的页面,上面的代码可以截获这个协议
Dim js As String
js = "document.body.onclick=function()" & vbCrLf & _
"{location.href='mouse://'+window.event.x+ '|'+window.event.y;}"
WebBrowser1.Document.parentWindow.execScript js, "javascript"
'------------------------------------------------
Exit Sub
'----------------
ToExit:
Resume Next
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询