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. 关于三个概念: ActiveX OLE COM
  熟悉面向对象编程和网络编程的人一定对 ActiveX OLE COM/DCOM 这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多人还是比较模糊的。 在具体介绍它们的关系之间,我们还是先明确组件( Component )和对象( Object )之间的区别。
  组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象( Rules Object )。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:
   1 )组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用;
   2 )组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;
   3 )组件为模块重用,而对象为代码重用。
  现在,比较流行的组件模型有 COM Component Object Model ,对象组件模型) /DCOM Distributed COM ,分布式对象组件模型)和 CORBA Common Object Request Broker Architecture ,公共对象请求代理体系结构)。到这里,已经出现了与本文相关的主题 COM ,而 CORBA 与本文无关,就不作介绍。之所以从组件与对象的区别说起,是想让大家明确 COM CORBA 是处在整个体系结构的最底层,如果暂时对此还不能理解,不妨继续往下看,最后在回过头看一看就自然明白了。
  现在开始阐述 ActiveX OLE COM 的关系。首先,让大家有一个总体的概念,从时间的角度讲, OLE 是最早出现的,然后是 COM ActiveX ;从体系结构角度讲, OLE ActiveX 是建立在 COM 之上的,所以 COM 是基础;单从名称角度讲, OLE ActiveX 是两个商标名称,而 COM 则是一个纯技术名词,这也是大家更多的听说 ActiveX OLE 的原因。既然 OLE 是最早出现的,那么就从 OLE 说起,自从 Windows 操作系统流行以来, 剪贴板 Clipboard )首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是 数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换( Dynamic Data Exchange DDE )的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的 数据格式 转换仍然是程序员沉重的负担。对象的链接与嵌入( Object Linking and Embedded OLE )的诞生把原来应用程序的数据交换提高到 对象交换 ,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实 OLE Microsoft 的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本 OLE2 中,导入了 COM 。由此可见, COM 是应 OLE 的需求而诞生的,所以虽然 COM OLE 的基础,但 OLE 的产生却在 COM 之前。 COM 的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务。 COM 是应 OLE 的需求而诞生,但它的第一个使用者却是 OLE2 ,所以 COM 与复合文档间并没有多大的关系,实际上,后来 COM 就作为与复合文档完全无关的技术,开始被广泛应用。这样一来, Microsoft 就开始 染指 通用平台技术。但是 COM 并不是产品,它需要一个商标名称。而那时 Microsoft 的市场专家们已经选用了 OLE 作为商标名称,所以使用 COM 技术的都开始贴上了 OLE 的标签。虽然这些技术中的绝大多数与复合文档没有关系。 Microsoft 的这一做法让人产生这样一个误解 OLE 是仅指复合文档呢?还是不单单指复合文档?其实 OLE COM 的商标名称,自然不仅仅指复合文档。但 Microsoft 自己恐怕无法解释清楚,这要花费相当的精力和时间。于是,随着 Internet 的发展,在 1996 年春, Microsoft 改变了主意,选择 ActiveX 作为新的商标名称。 ActiveX 是指宽松定义的、基于 COM 的技术集合,而 OLE 仍然仅指复合文档。当然, ActiveX 最核心的技术还是 COM ActiveX OLE 的最大不同在于, OLE 针对的是桌面上应用软件和文件之间的集成,而 ActiveX 则以提供进一步的网络应用与用户交互为主。
  到这里,大家应该对 ActiveX OLE COM 三者的关系有了一个比较明确的认识, COM 才是最根本的核心技术,所以下面的重点 COM 。让对象模型完全独立于编程语言,这是一个非常新奇的思想。这一点从 C++ Java 的对象概念上,我们就能有所了解。但所谓 COM 对象究竟是什么呢?为了便于理解,可以把 COM 看作是某种(软件)打包技术,即把它看作是软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和以组支持库。 COM 对象可以用 C++ Java VB 等任意一种语言编写,并可以用 DLL 或作为不同过程工作的执行文件的形式来实现。使用 COM 对象的浏览器,无需关心对象是用什么语言写的,也无须关心它是以 DLL 还是以另外的过程来执行的。从浏览器端看,无任何区别。这样一个通用的处理技巧非常有用。例如,由用户协调运行的两个应用,可以将它们的共同作业部分作为 COM 对象间的交互来实现(当然,现在的 OLE 复合文档也能做到)。为在浏览器中执行从 Web 服务器下载的代码,浏览器可把它看作是 COM 对象,也就是说, COM 技术也是一种打包可下载代码的标准方法( ActiveX 控件就是执行这种功能的)。甚至连应用与本机 OS 进行交互的方法也可以用 COM 来指定,例如在 Windows Windows NT 中用的是新 API ,多数是作为 COM 对象来定义的。
  可见, COM 虽然起源于复合文档,但却可有效地适用于许多软件问题,它毕竟是处在底层的基础技术。用一句话来说, COM 是独立于语言的组件体系结构,可以让组件间相互通信。随着计算机网络的发展, COM 进一步发展为分布式组件对象模型,这就是 DCOM ,它类似于 CORBA ORB ,本文对此将不再做进一步的阐述。通过上面的讲述相信大家一定对 ActiveX OLE COM/DCOM 的关系有了一个清楚的了解。
 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值