VB怎样获得鼠标处的超级连接呢?
在WebBrowser控件中有这样一个事件:StatusTextChange(index As Integer, ByVal Text As String)
它的Text参数正是鼠标处的超级连接,但问题是如果我的浏览器正忙的时候他的Text并不会及时更新。
我又尝试用Navigate2他里面也有个URL参数,但是这个URL与文字或图片中的超级连接还是有不同的.
现在我的要求是,点击某个带有连接的文字或图片时我要先得到这个连接地址,然后去打开网页,上面的两个方法
都不能满足我的要求。
在这里请高人指点一下.
在WebBrowser控件中有这样一个事件:StatusTextChange(index As Integer, ByVal Text As String)
它的Text参数正是鼠标处的超级连接,但问题是如果我的浏览器正忙的时候他的Text并不会及时更新。
我又尝试用Navigate2他里面也有个URL参数,但是这个URL与文字或图片中的超级连接还是有不同的.
现在我的要求是,点击某个带有连接的文字或图片时我要先得到这个连接地址,然后去打开网页,上面的两个方法
都不能满足我的要求。
在这里请高人指点一下.
而不是有些情况下会在IE中打开一个使用NewWindow2()事件,应该能够解决问题,
放一个WebBrowse、一个commandbuttonOption ExplicitPrivate Sub Command1_Click()
WebBrowser1.Navigate "www.baidu.com"
End SubPrivate Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
'重点是这里,指定 ppDisp 的宿主浏览器
Set ppDisp = WebBrowser2.Application
End Sub还有一个,使用SHDocVwCtl.WebBrowser_V1类
放一个WebBrowse、一个commandbuttonOption Explicit'定义浏览器类
Dim WithEvents Web_V1 As SHDocVwCtl.WebBrowser_V1
Private Sub Command1_Click()
WebBrowser1.Navigate "www.baidu.com"
End SubPrivate Sub Form_Load()
Set Web_V1 = WebBrowser1.ObjectEnd Sub'捕捉新的链接,在原窗口打开
Private Sub Web_V1_BeforeNavigate(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Cancel As Boolean)
Debug.Print "before: " & URL
End Sub'捕捉新的窗口,在新窗口打开
Private Sub Web_V1_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean) Processed = True '停止原来请求的处理
Debug.Print "new: " & URL
WebBrowser1.Navigate URL '仍让基在原窗口打开End Sub
http://www.applevb.com/sourcecode/WebbrowserEx.zip
这个源代码的效果是:鼠标在网页页面上移动,当鼠标指向超链接时,文本框显示超链接的URL。鼠标指向另一超链接时,文本框显示另一超链接的URL。URL随鼠标指向的超链接而改变。
这个肯定不是StatusTextChange