如何使用让MFC写的ACTIVEX 在IE里面监视NewWindow2事件?

KKND2006 2008-06-19 05:50:05
由于项目的原因,这个嵌入到IE里面地板ACTIVEX没有用ATL而是MFC

现在就有问题,需要监视IE的NewWindow2事件,但是死活监视不到,实现了IObjectWithSite后,可以在IE打开后进入OnSetSite,但是无法对事件进行监视

我看了很多ATL的代码,说直接在INVOKE()里面就可以做了,但是MFC怎么做这个?

另外还说到可以用DECLARE_EVENTSINK_MAP,配合
ON_EVENT(CTest, IDC_WEBBROWSER, DISPID_NEWWINDOW2,
OnNewWindow2, VTS_PDISPATCH VTS_PBOOL)
这么接收事件,但是接收不了,或者我写法有问题

MS的两篇文章
Keeping an Eye on Your Browser by Monitoring Internet Explorer Events

如何使用BHO定制你的Internet Explorer浏览器
都看过了,但都是说使用WEB BROWSER控件的,我这个是做成ACTIVEX嵌入IE,情况不同,折腾好几天了...

如能解答,非常感谢,有例子更好,谢谢

...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2008-06-20
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/257717
挂接事件的方法随便找个bho示例就有
jameshooo 2008-06-19
  • 打赏
  • 举报
回复
可以从控件容器中获得IWebBrowser2接口,然后挂接事件通知

3,245

社区成员

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

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