扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者