关于使用WebBrowser控件访问页面时,如何在点击链接时弹出VB窗体,并截获链接地址信息!

pjchuqi 2005-09-15 02:49:09
关于使用WebBrowser控件访问页面时,如何在点击链接(此链接地址为图片下载地址)时弹出VB窗体,并截获链接地址信息!
...全文
314 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pjchuqi 2005-11-02
  • 打赏
  • 举报
回复
已解决,多谢各位!
蒋晟 2005-09-19
  • 打赏
  • 举报
回复
you can implement IDocHostUIHandler::GetExternal, and access your implementation by window.external, or use a custom protocol like MyApp::SomeCommand, and handle the protocol by handling DWebBrowser2::BeforeNavigate2, or through Asynchronous Pluggable Protocol.

The cleanest way of controlling these interesting aspects of the Webbrowser control is through implementing the IDocHostUIHandler interface, but you can't find an easy way to do this in VB6. So, how do you implement it? Will the only easy way in the pre .Net days was through VC++ and there is a sample of how it can be done up on the MS Support web site ( http://support.microsoft.com/support/kb/articles/Q183/2/35.ASP), and I found some guy worked very hard to translate this sample into VB ( http://www.topxml.com/code/default.asp?p=3&id=v20031122135204). However, this method is less satisfactory: the customization can not be done before DocumentComplete, because a full DHTML Document object is needed to access its ICustomDoc interface.

The better implementations are written in native C++, usually based on MFC or ATL. One of them is the driller sample ( http://msdn.microsoft.com/archive/en-us/samples/internet/browser/driller/default.asp), and the other is the MFC 8.0 implementation, while MFC 7.0 and 7.1 are buggy.

In .Net 1.0 and 1.1, you can implement the IDocHostUIHandler interface much easier (http://www.codeproject.com/csharp/advhost.asp), however, the implementation of the .Net wrapper of the WebBrowser control is almost unknown, so ICustomDoc is also required.

In .Net 2.0 (still in beta), the new WinForm WebBrowser control is much better, and is almost the same of the MFC 8.0 implementation. However, its implementation details are still almost unknown, but it would satisfy most of WebBrowser developers.
GHOSTSEA 2005-09-19
  • 打赏
  • 举报
回复
学习中,关注~~~~~~~~~
pjchuqi 2005-09-19
  • 打赏
  • 举报
回复
多谢,我先试一下,有不明白的再请教!
yas 2005-09-16
  • 打赏
  • 举报
回复
仅以nettransport为例
注册表:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\使用影音传送带下载
C:\Program Files\Xi\NetTransport 2\NTAddLink.html


NTAddLink.html 文件:
<script language = "VBScript">
'Download selected link

sub AddLink(Url, Remark)
On Error Resume Next

set NTIECatcher = CreateObject("NTIEHelper.NTIEAddUrl")
if err = 0 then
call NTIECatcher.AddLink(external.menuArguments.document.Url, Url, Remark)
end if

end sub
</script>

自己写个NTIEHelper.NTIEAddUrl类
到这里你该清楚了吧
hujiahuwei 2005-09-16
  • 打赏
  • 举报
回复
你是想学flashget那样吗?
xghim 2005-09-16
  • 打赏
  • 举报
回复
这样对在新窗口显示的不能判断。
rokky 2005-09-16
  • 打赏
  • 举报
回复
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)

msgbox "你要访问的地址是:" & url

End Sub
pjchuqi 2005-09-15
  • 打赏
  • 举报
回复
这个访问页面是自己做出来的,有个思路是用javascript脚本来与VB程序交互,但不知如何交互,请高手指教 !

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧