IE7的窗口结构

   与IE6不同,IE7的窗口结构做了很大的改动。

IEFrame (主窗口)
    |
    |-- WorkerW (导航栏,即地址栏部分,还包括IE7特有的搜索栏)
    |        |
    |        |-- ReBarWindow32
    |
    |-- CommandBarClass
    |        |
    |        |-- ReBarWindow32
    |
    |-- TabWindowClass (smaple:http://www.sina.com)
                |
                |-- Shell DocObject View
                            |
                            |-- Internet Explorer_Server (浏览器窗口)


    为了支持多页面,IEFrame下可能会有多个TabWindowClass子窗口,每个TabWindowClass对应一个网页。

    WorkerW-ReBarWindow32 (导航栏)下面还有三个子窗口,分别是:
TravelBand ,负责IE7左上角的前进、后退所在的工具栏部分
 Address Band Root , 负责地址栏部分
 UniversalSearchBand ,负责IE7特有的搜索栏部分
这三个子窗口其下还有1到3级的子窗口,不一一列出!

    CommandBarClass-ReBarWindow32 负责IE窗口的第二行,包括收藏夹,TAB,常用工具栏等。

    与以往版本还有一个很大的差别,就是窗口所在线程。
    IE6之前, Internet Explorer_Server 和 工具栏等其它UI元素都处在同一线程。因此,使用BHO时,所在的线程和UI线程是相同的。

    IE7中,每个 TabWindowClass/Internet Explorer_Server 都处在一个独立的线程,都和IE的其它UI线程分离。其它UI包括:
IEFrame 、WorkerW导航栏、CommandBarClass (TAB和常用工具栏), 都在同一个线程中。因此在IE7中,如果在BHO中要挂钩子,或子类化窗口,应该考虑到跨线程的问题。 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值