科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道教你一招:全面认识浏览器工具条

教你一招:全面认识浏览器工具条

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

有的用户安装某个工具条软件后,享受着工具条软件带来的便捷和易用;也有的用户计算机被莫名其妙地安装了自己并不喜欢的工具条软件,而带来不少痛苦。那么工具条是什么,这其中的奥妙又是什么?

作者:中国IT实验室 2007年8月31日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共8页)

2. 如何开发工具条

    由于目前用户使用的Web浏览器包括IE、Mozilla Firefox、Maxthon、腾讯TT等,不同浏览器的工具条开发技术差别很大。所以我们需要确定制作的工具条在什么浏览器上运行。目前在国内几乎95%以上的网络用户都是使用Internet Explore浏览器,下面以在IE上开发工具条为例进行说明。本文不就具体开发过程描述,主要对工具条的相关开发知识做些简要介绍。

    浏览器有两种主要的插件技术:一是浏览器辅助对象(BHO)插件;二是浏览器栏对象(Band)插件。各个浏览器对BHO和Band的支持方式也差别很大。

    BHO是依托于浏览器主窗口,和浏览器实例的生命周期一致的组件。在组件内,可以接收浏览器的动作事件,同时,在这些事件的响应中实现与浏览器的交互。

    Band和BHO有些类似,Band需要比BHO实现某些Band接口,从而可以创建窗体。由于Band也是一类组件,所以Band也需要放到一个容器(即浏览器)中去使用。Band 对象分三种类型:浏览器栏(Explorer Bands)、工具栏 Band(Tool Bands)和桌面工具栏(Desk Bands)。

    浏览器工具条也就是工具栏,是浏览器Band插件。IE浏览器工具条的默认显示需要借助BHO的ShowBrowserBar方法来实现。因此,开发工程师在准备开发IE工具条前,首先需要了解Band和BHO的相关知识。

    对开发人员,有一个必须面队的问题就是选用什么开发语言开发工具条。VB、VC、Delphi、C++.NET、C# 都可以用来开发浏览器工具条。无疑VC是开发语言首选,也许有人会问,用C++.NET托管代码开发不好吗?那当然不行,托管代码需要有Microsoft .NET Framework支持才能运行,我们不能都让Windows 2000、Windows XP的用户去下载安装Microsoft .NET Framework吧。VC是开发语言首选的原因主要有三个:一是VC运行效率高;二是VC发布的程序包最小;三是VC可以很好地进行ATL组件开发。以上前两个原因是互联网用户使用浏览器工具条的两个重要因素。

    在实现IToolBar接口的ATL组件内,工具条按钮的创建是通过对TBBUTTON结构的设置来决定每一个工具条按钮的信息。TBBUTTON结构的数据成员包含了工具条按钮的图标、标题、类型、状态等相关信息。通过创建工具条的窗口句柄,并向工具条发送TB_ADDBUTTONS消息来完成工具条按钮的创建。对于工具条上的非按钮控件(比如输入框、滚动新闻、音乐播放等),则需要特殊处理。

    工具条看起来占的位置不大,开发工作量确是很大。除了以上提到的Band和BHO技术,软件工程师还需要面对文件、注册表、图片、输入框、下拉菜单、事件响应、浏览器操作、中文支持等重重挑战。

3. 如何发布工具条

    工具条开发完成并不能直接提供给用户使用,只有把工具条组件及相关文件打包成用户可以直接使用的安装包后,用户才可以直接使用。这个过程通常被称为工具条打包发布。

    完成《工具条软件需求说明书》中所描述的功能开发,同时打包发布工具条后并在Windows 98、Windows 2000、Windows XP、Windows 2003下测试通过并后,软件工程师才算最终修得正果。

    IE浏览器工具条发布有两种方式:一种是打包成EXE或MSI安装执行文件进行发布,另一种是打包成CAB包实现Web自动下载安装。软件工程师在制作这两种安装包时,所需要的打包软件是不一样的。在制作安装执行文件时,我们可以使用Install Shield、Wise等专业打包软件制作。在制作CAB自动下载安装时,我们可以使用Cabinet Manager、WinCAB等CAB打包工具。Windows在系统目录自带了一个CAB制作工具IExpress(下图是IExpress启动后的界面),网络上也可以下载IExpress 中文汉化版本。如果对命令行操作情有独钟,我们可以使用Windows自带的makecab.exe命令。

 

    那么这两种安装方式除了制作过程不一样之外,在使用过程中有什么差异呢?下面我们来了解一下这个问题。

    对于第一种安装执行文件方式,就像QQ、BitComet等软件一样,用户需要从网络上下载并运行安装才可以进行,在安装过程中会有安装提示界面,用户通过点击“下一步”根据安装向导完成工具条的安装。

    使用第二种安装方式时,CAB文件需要通过Object元素内嵌到网页代码中。当用户浏览这个页面的时候,CAB将根据IE的安全设置规则进行提示或自动下载安装。在有安装提示的时候,用户只要点击安装ActiveX控件即可完成安装,整个下载安装过程没有下载进度条,也没有安装向导,自动完成下载安装。那么有的读者会问,自动下载安装什么时候有提示?什么时候没有提示?能不能不提示就自动下载安装?这个我们留待“代码数字签名”章节描述。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章