Cookie Spy






4.85/5 (14投票s)
2001 年 3 月 4 日

206546

5158
使用 ATL 创建 CookieSpy 资源管理器栏。
引言
CookieSpy 是一个自定义的浏览器工具栏。这个扩展程序是为了监控 cookie 活动以及添加和编辑 cookie 而创建的。我使用了 VC++ 6.0 (SP4) 和 ATL。
实现。
1. 首先,每个 IE band 对象必须实现一对接口
- IDeskBand
- IObjectWithSite
我编写了一个模板类 DeskBandImpl<>
来实现所有 IE 必要的例程。
2. 其次,band 对象必须将适当的记录添加到注册表的“Component Categories”项。我注册了 CATID_InfoBand 和 CATID_CommBand 类别。当然,您可以同时只使用一种 band 放置方式:垂直或水平。
3. 接下来,当 IE 调用 IObjectWithSite::SetSite
方法时,主要目标是
- 创建一个 band 窗口。
- 建议 DWebBrowserEvents2
事件接收器接口,以接收来自浏览器的事件通知
4. CookieSpy::OnCreate
方法的目标
- 从资源中创建 MSHTML 控件以显示 HTML 页面
- 设置外部分发
5. 通过处理事件:BeforeNavigate2
、DocumentComplete
、NavigateComplete2
,我尝试更新当前文档的 cookie 信息
- 解析 cookie 字符串
- 更新主 HTML 页面
6. 此外,用户还可以添加和编辑 cookie。如果 cookie 存储在硬盘上,我会尝试在 cookie 文件夹中找到 cookie 文件,以确定过期日期和域名\路径信息;否则(如果缺少此类文件),我会建议这是一个会话 cookie。然后,借助 InternetSetCookie
API,我为指定的 URL 创建一个 cookie。
环境。
我只在 Win2k 和 IE 5.0 下测试了这个 band
致谢。
感谢 Neeraj Srivastava 提供了他的文章 “使用 ATL HTML 控件实现 Web 浏览器 Band”
历史
2001 年 10 月 12 日 - 新的下载文件:这些解决了 IE.5.5\6.0 和 CookieSpy 插件的问题。