VB 捕获 WebBrowser控件的鼠标和键盘事件http://hi.baidu.com/100bd/blog/item/8c280b6cb6e9e3ed43169495.html这里这篇文章,可以实现 鼠标在网页上面移动,显示元素的状态。现在我要问,如果网页中鼠标所在的地方是框架,就失效了。
怎么样用下面的代码修改一下,实现。自动对网页中所以框架适用, 实时得到 鼠标移动信息,元素信息。
--------------------
 ' '以下窗体代码在 VB6 调试通过
'在“工程/部件”的控件对话框中勾选:Microsoft Internet Controls
'在“工程/引用”对话框中勾选:Microsoft HTML Object Library
'然后再窗体放置控件:WebBrowser1
'程序运行后,在网页上移动、单击鼠标,或按下键盘某个键,注意窗体标题栏给出的信息
'本人原创,转载请注明来源:http://hi.baidu.com/100bd/blog/item/8c280b6cb6e9e3ed43169495.html
Private WithEvents ctDoc As MSHTML.HTMLDocumentPrivate Sub Form_Load()
   WebBrowser1.Navigate "about:blank" '设置为空白页,否则 ctDoc = WebBrowser1.Document 会无效
   Set ctDoc = WebBrowser1.Document
   WebBrowser1.Navigate "http://www.baidu.com/"
End SubPrivate Sub Form_Resize()
   On Error Resume Next
   WebBrowser1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
End SubPrivate Sub ctDoc_onmousemove()
   EventsHTML
End Sub
Private Sub ctDoc_onmousedown()
   EventsHTML
End Sub
Private Sub ctDoc_onmouseup()
   EventsHTML
End Sub
Private Function ctDoc_onkeypress() As Boolean
   EventsHTML
End Function
Private Sub ctDoc_onkeydown()
   EventsHTML
End Sub
Private Sub ctDoc_onkeyup()
   EventsHTML
End SubPrivate Sub EventsHTML()
   Dim nEvent As String, X As Long, Y As Long
   X = ctDoc.parentWindow.event.clientX '鼠标 x 坐标位置(像素)
   Y = ctDoc.parentWindow.event.clientY '鼠标 y 坐标位置(像素)
   
   nEvent = ctDoc.parentWindow.event.Type '事件名称,如:MouseDown、MouseMove、MouseUp、KeyPress 等
   nEvent = nEvent & ":" & X & "," & Y
   nEvent = nEvent & " Button=" & ctDoc.parentWindow.event.button    '按下了鼠标那个键
   nEvent = nEvent & "  keyCode=" & ctDoc.parentWindow.event.keyCode '键盘编码
   
'   nEvent = nEvent & " Ctrl=" & ctDoc.parentWindow.event.ctrlKey    '键盘 Ctrl 键的状态
'   nEvent = nEvent & " Alt=" & ctDoc.parentWindow.event.altKey      '键盘 Alt 键的状态
'   nEvent = nEvent & " Shift=" & ctDoc.parentWindow.event.shiftKey  '键盘 Shift 键的状态
   
   On Error Resume Next
   nEvent = nEvent & " 元素=" & ctDoc.parentWindow.event.srcElement.tagName
   nEvent = nEvent & " 索引=" & ctDoc.parentWindow.event.srcElement.sourceIndex
   nEvent = nEvent & " ID=" & ctDoc.parentWindow.event.srcElement.id
   
   Me.Caption = nEvent
End Sub