ActiveX 控件

 

ActiveX的内容
  ActiveX 控件
  以前称为 OLE 控件或 OCX 控件. 是组件(或对象)打包,别人编程功能. 以便您可以重用 Web页或其他程序中插入。例如, InternetExplorer 一起提供 ActiveX 控件可用于增强 Web页具有复杂格式功能和动画。
  ActiveX 控件结合了Java 程序和 Netscape 插件优点,还可以用许多编程语言, 包括所有 Microsoft 编程和在数据库语言编写程序中使用 ActiveX 控件。
  ActiveX 文档
  用一个 ActiveX - 识别 Web 浏览器如 InternetExplorer, 浏览时 ActiveX 文档使您能够使用自己的工具栏和菜单可打开程序。这意味着您可以通过使用 ActiveX - 识别 Web 浏览器打开非HTML 文件, MicrosoftExcel MicrosoftWord 文件。
  ActiveX 脚本
ActiveX 脚本支持最常用脚本语言, 包括 Microsoft VisualBasic 脚本和 JavaScript ActiveX 脚本可用于集成行为若干 ActiveX 控件或 Java 程序从 Web 浏览器或服务器, 扩展其功能。
 
ActiveX的特点
  在因特网上,ActiveX插件软件的特点是:一般软件需要用户单独下载然后执行安装,而ActiveX插件是当用户浏览到特定的网页时,IE浏览器即可自动下载并提示用户安装。 ActiveX插件安装的一个前提是必须经过用户的同意及确认。
  ActiveX插件技术是国际上通用的基于Windows平台的软件技术,除了网络实名插件之外,许多软件均采用此种方式开发,例如Flash动画播放插件、Microsoft MediaPlayer插件、CNNIC通用网址插件等。
相关内容
  1.浏览器如何保证ActiveX插件的安全性?
  当通过Internet发行软件时,软件的安全性是一个非常引人注意的问题,IE浏览器通过以下的方式来保证ActiveX插件的安全:
  ActiveX使用了两个补充性的策略:安全级别和证明,来追求进一步的软件安全性;
  Microsoft提供了一套工具,可以用它来增加ActiveX对象的安全性;
  通过Microsoft的验证代码工具,可以对ActiveX控件进行签名,这告诉用户你的确是控件的作者而且没有他人篡改过这个控件;
  为了使用验证代码工具对组件进行签名,必须从证书授权机构获得一个数字证书;证书包含表明特定软件程序是正版的信息,这确保了其他程序不能再使用原程序的标识。证书还记录了颁发日期。当您试图下载软件时,Internet Explorer 会验证证书中的信息,以及当前日期是否在证书的截止日期之前。如果在下载时该信息不是最新的和有效的,Internet Explorer 将显示一个警告;
  在IE默认的安全级别中,ActiveX控件安装之前,用户可以根据自己对软件发行商和软件本身的信任程度,选择决定是否继续安装和运行此软件。
  在最新的IE 7中,安全性有进一步的提高。
  2.关于三个概念:ActiveXOLECOM
  熟悉面向对象编程和网络编程的人一定对ActiveXOLECOM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多人还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。
  组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:
  1)组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用;
  2)组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;
  3)组件为模块重用,而对象为代码重用。
  现在,比较流行的组件模型有COMComponent Object Model,对象组件模型)/DCOMDistributed COM,分布式对象组件模型)和CORBACommon Object Request Broker Architecture,公共对象请求代理体系结构)。到这里,已经出现了与本文相关的主题COM,而CORBA与本文无关,就不作介绍。之所以从组件与对象的区别说起,是想让大家明确COMCORBA是处在整个体系结构的最底层,如果暂时对此还不能理解,不妨继续往下看,最后在回过头看一看就自然明白了。
  现在开始阐述ActiveXOLECOM的关系。首先,让大家有一个总体的概念,从时间的角度讲,OLE是最早出现的,然后是COM ActiveX;从体系结构角度讲,OLEActiveX是建立在COM之上的,所以COM是基础;单从名称角度讲,OLEActiveX是两个商标名称,而COM则是一个纯技术名词,这也是大家更多的听说ActiveXOLE的原因。既然OLE是最早出现的,那么就从OLE说起,自从 Windows操作系统流行以来,剪贴板Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(Dynamic Data ExchangeDDE)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的数据格式转换仍然是程序员沉重的负担。对象的链接与嵌入(Object Linking and EmbeddedOLE)的诞生把原来应用程序的数据交换提高到对象交换,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实OLEMicrosoft的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本OLE2中,导入了COM。由此可见,COM是应OLE的需求而诞生的,所以虽然COMOLE的基础,但OLE的产生却在COM之前。COM的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务。COM是应OLE的需求而诞生,但它的第一个使用者却是OLE2,所以COM与复合文档间并没有多大的关系,实际上,后来COM 就作为与复合文档完全无关的技术,开始被广泛应用。这样一来,Microsoft就开始染指通用平台技术。但是COM并不是产品,它需要一个商标名称。而那时Microsoft的市场专家们已经选用了OLE作为商标名称,所以使用COM技术的都开始贴上了OLE的标签。虽然这些技术中的绝大多数与复合文档没有关系。Microsoft的这一做法让人产生这样一个误解OLE是仅指复合文档呢?还是不单单指复合文档?其实OLECOM的商标名称,自然不仅仅指复合文档。但Microsoft自己恐怕无法解释清楚,这要花费相当的精力和时间。于是,随着Internet的发展,在1996年春,Microsoft改变了主意,选择ActiveX作为新的商标名称。ActiveX是指宽松定义的、基于COM的技术集合,而OLE仍然仅指复合文档。当然,ActiveX最核心的技术还是COMActiveXOLE的最大不同在于,OLE针对的是桌面上应用软件和文件之间的集成,而 ActiveX则以提供进一步的网络应用与用户交互为主。
  到这里,大家应该对ActiveXOLECOM三者的关系有了一个比较明确的认识,COM才是最根本的核心技术,所以下面的重点 COM。让对象模型完全独立于编程语言,这是一个非常新奇的思想。这一点从C++Java的对象概念上,我们就能有所了解。但所谓COM对象究竟是什么呢?为了便于理解,可以把COM看作是某种(软件)打包技术,即把它看作是软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和以组支持库。COM对象可以用C++JavaVB等任意一种语言编写,并可以用DLL或作为不同过程工作的执行文件的形式来实现。使用COM对象的浏览器,无需关心对象是用什么语言写的,也无须关心它是以DLL还是以另外的过程来执行的。从浏览器端看,无任何区别。这样一个通用的处理技巧非常有用。例如,由用户协调运行的两个应用,可以将它们的共同作业部分作为COM对象间的交互来实现(当然,现在的OLE复合文档也能做到)。为在浏览器中执行从Web服务器下载的代码,浏览器可把它看作是COM对象,也就是说,COM技术也是一种打包可下载代码的标准方法(ActiveX控件就是执行这种功能的)。甚至连应用与本机OS进行交互的方法也可以用COM来指定,例如在WindowsWindows NT中用的是新API,多数是作为COM对象来定义的。
  可见,COM虽然起源于复合文档,但却可有效地适用于许多软件问题,它毕竟是处在底层的基础技术。用一句话来说,COM是独立于语言的组件体系结构,可以让组件间相互通信。随着计算机网络的发展,COM进一步发展为分布式组件对象模型,这就是DCOM,它类似于CORBAORB,本文对此将不再做进一步的阐述。通过上面的讲述相信大家一定对ActiveXOLECOM/DCOM的关系有了一个清楚的了解。
 
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值