IE如何hook用户点击链接的动作。

招RD和QA 2006-09-22 05:38:56
想在IE中实现这样的功能,hook住用户点击link的动作。比如当用户点击一个link时,我首先检查这个link是不是合法,如果合法就放行,否则取消这次动作。

问下,使用bho类似的技术能实现这样的功能?是不是用嵌入javascript做也行?
...全文
588 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
招RD和QA 2006-10-09
  • 打赏
  • 举报
回复
http handler是什么意思?不是很明白啊。

我想要的功能不复杂啊。

想在IE中实现这样的功能,hook住用户点击link的动作。比如当用户点击一个link时,我首先检查这个link是不是合法,如果合法就放行,否则取消这次动作。

想在click的时候分析url是不是指向一个文件,比如一个exe等等,但在一些下载网站上的link经常很奇怪,只有在用户点上去的时候最后才出现一个文件名,这情况在click里怎么处理?
招RD和QA 2006-09-27
  • 打赏
  • 举报
回复
IE对于link的处理是不是都会打开一个新的IE窗口,如果是一个文件(比如exe),就会弹出一个dialog,如果是这样的话,在BeforeNavigate()里面处理,是不是最好的方式?因为IE已经帮你解析了link。
真相重于对错 2006-09-25
  • 打赏
  • 举报
回复
http://www.webpc8.com/Article/VisualC/zh/200603/Article_6455.html
招RD和QA 2006-09-25
  • 打赏
  • 举报
回复
楼上的,我还是有点不明白。是获得IHTMLLinkElement,然后attachEvent()嘛?

对于attachEvent,

HRESULT attachEvent( BSTR event,
IDispatch *pDisp,
VARIANT_BOOL *pfResult
);

其第2个参数是个IDispatch*,我不知道如何实现,是单独写一个类,实现IDispatch嘛?
lion_wing 2006-09-25
  • 打赏
  • 举报
回复
1、获得WebBrowser Control的DWebBrowserEvents2::DocumentComplete事件
2、在DWebBrowserEvents2::DocumentComplete事件中根据IWebBrowser2::Document获得HTMLLinkElementEvents::onclick事件
蒋晟 2006-09-25
  • 打赏
  • 举报
回复
write your own HTTP handler
Reference
www.codeproject.com/atl/vbmhwb.asp
招RD和QA 2006-09-25
  • 打赏
  • 举报
回复
多谢。DWebBrowserEvents::BeforeNavigate是一个新的思路。
我想问下,HTMLLinkElementEvents::onclick 来处理的话,有例子嘛?
lion_wing 2006-09-25
  • 打赏
  • 举报
回复
用DWebBrowserEvents::BeforeNavigate处理不是太好
lion_wing 2006-09-25
  • 打赏
  • 举报
回复
用BHO可以实现,可以用HTMLLinkElementEvents::onclick来截获。
嵌入JS没做过,不过应该也是可以的。
aa3000 2006-09-25
  • 打赏
  • 举报
回复
或许你可以直接用 socket 访问该 link 然后分析返回的 HTTP 头,不过这样的话可要自己造 HTTP 头,
招RD和QA 2006-09-25
  • 打赏
  • 举报
回复
看了一些资料,终于试出来了,明白了。谢谢各位。

还有一个问题,我想在click的时候分析url是不是指向一个文件,比如一个exe等等,但在一些下载网站上的link经常很奇怪,只有在用户点上去的时候最后才出现一个文件名,这情况在click里怎么处理?
xiaoyuzi 2006-09-25
  • 打赏
  • 举报
回复
AJAX应该就可以阿
pomelowu 2006-09-22
  • 打赏
  • 举报
回复
javascript不清楚,不过其实你只需要在DWebBrowserEvents::BeforeNavigate事件里边判断就行了吧?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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