如何拦截或者得到当前WebBrowser的refresh(刷新)事件?

fonsea 2004-12-24 03:22:52
需要在用户刷新浏览器之后作些处理,通过DWebBrowserEvents2根本行不通。有什么好一点的办法吗?
...全文
539 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fonsea 2005-01-03
  • 打赏
  • 举报
回复
楼上的方法看了我一头雾水,com接口函数也能挂接吗?能给个demo或详细一点吗?
如果给出解决方案高分相送!
fonsea 2004-12-30
  • 打赏
  • 举报
回复
to: jiangsheng
这种方法根本就无法完全的对所有网页刷新进行handle啊。尤其是比较复杂的页面的时候。

正沿着这种思路探索看看。。。
fromair 2004-12-30
  • 打赏
  • 举报
回复
既然MS不提供好接口和方法,那我们就采用最狠的一招:挂接com接口的函数地址
不管是IE还是其他什么浏览器(只要是基于IE内核的),其刷新一定是调用当前IE窗口的IWebBrowser2接口的Refresh或者Refresh2方法。如果在每个IE窗口创建后得到其IWebBrowser2接口指针,获得Refresh函数的地址,根据该地址和com在内存中的结构改写该保存该函数地址的地址,就可以完全对Refresh事件进行控制了。
不过主要的问题是如何找到并且改写保存com接口函数的地址的地址,它不像挂接一般当前进程中的dll输出函数---只要找到输入地址表就可以找到保存函数地址的地址。
gjd111686 2004-12-30
  • 打赏
  • 举报
回复
是有问题,用IOleCommandTarget更是左右nCmdID均为Stop
蒋晟 2004-12-25
  • 打赏
  • 举报
回复
http://www.codeproject.com/internet/detecting_the_ie_refresh.asp
Semigod 2004-12-24
  • 打赏
  • 举报
回复
我也试着找了找相关资料,没有找到解决方法。

3,245

社区成员

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

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