如何捕捉IE7的事件

abuseyoudna1981 2012-04-25 06:19:25
用的是连接点的advise方法绑定IE事件,但IE7比较特别,它好像是单进程的,一个TAB标签页对应一条线程,本来我写的程序是只要是一个单独进程就会加载一次,现在由于IE7这种特点,导致我只在第一个TAB页加载了我的程序,在第二个TAB页无法加载,因为我绑定的只是第一个TAB页,求解决方法。
...全文
145 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
abuseyoudna1981 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

。。那就不清楚了。。可能得用Hook了,WH_CBT,检测新创建窗口是什么,标签切换就试试用WH_CALLWNDPROC
,WH_GETMESSAGE,hook一下tabctrl的TCN_SELCHANGE消息。当然不知道它用的是不是标准的tabctrl。或者就监控WM_ACTIVATE消息
[/Quote]

用SPY++看了一下,应该不是TABCTRL,HOOK的话太暴力了。像你说的监控WM_ACTIVATE消息,是想用窗口子类化的方式去做么。不知道IE有没有做保护。
fishion 2012-04-26
  • 打赏
  • 举报
回复
。。那就不清楚了。。可能得用Hook了,WH_CBT,检测新创建窗口是什么,标签切换就试试用WH_CALLWNDPROC
,WH_GETMESSAGE,hook一下tabctrl的TCN_SELCHANGE消息。当然不知道它用的是不是标准的tabctrl。或者就监控WM_ACTIVATE消息
abuseyoudna1981 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

http://dev.21tx.com/2006/07/21/12836.html
可以试试查找IWebbrowser2再进行IE事件绑定的方法,不知道行不行了。

或者就是用BHO方法,在网页源码中加入一个隐藏的加载你的ActiveX控件的网页代码。

还有的一些方法就不说了,都比较复杂
[/Quote]

有什么办法能获取到IE新增了一个标签页或者切换标签页的事件吗,我试了一下IE7,没办法接收到NEWWINDOW系列的事件。
abuseyoudna1981 2012-04-26
  • 打赏
  • 举报
回复
嗯。我用的也是IWebBrowser2的connection point来绑定IE事件的,我先试试。
fishion 2012-04-25
  • 打赏
  • 举报
回复
http://dev.21tx.com/2006/07/21/12836.html
可以试试查找IWebbrowser2再进行IE事件绑定的方法,不知道行不行了。

或者就是用BHO方法,在网页源码中加入一个隐藏的加载你的ActiveX控件的网页代码。

还有的一些方法就不说了,都比较复杂

3,245

社区成员

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

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