COM原理及应用---- ActiveX控制

Excel自动化进阶:ActiveX控件与COM技术实战指南 COM(组件对象模型)是微软软件组件交互的基石,它定义了二进制接口标准,允许不同语言编写的程序相互通信。基于COMActiveX技术,将这一原理具体化,提供了可复用的软件组件,极大地扩展了宿主应用程序的功能边界。其技术价值在于实现了软件的模块化与互操作性,使开发者能够快速集成成熟组件,避免重复开发。在办公自动化领域,这一技术尤其适用于需要深度集成外部功能或硬件的场景。例如,通过嵌入MSComm控件,Excel便能稳定地进行串口通信,实时接收传感器数据;而通过创建外部COM对象,则可实现与Word、Auto 阅读详情

1、ActiveX控制

       ActiveX控制是Microsoft提供的功能强大的程序设计和开发技术。ActiveX控制既是一个自动化对象(当然也是一个标准的COM对象),也是一个界面元素,如同Windows的普通控制一样。

       ActiveX控制是一门综合技术,它涉及到COM和OLE的许多技术精华,同时也与Windows操作系统紧密结合起来,它可作为Windows标准控制的一种扩充机制。

       Microsoft把这种在Internet上使用的控制与OCX一起统称为ActiveX控制,并且把所有建立在COM和OLE基础上以及与Internet有关的技术统称为ActiveX技术。

 

2、ActiveX控制的技术基础

       ActiveX控制的主要技术基础为OLE复合文档技术,它几乎涉及OLE嵌入对象与包容器程序之间交互的所有技术,包括结构化存储技术、自动化技术、实地激活(in-place activation,主要用于嵌入对象)、属性页技术、永久对象技术、可连接对象机制等等。

 

3、实地激活

       实地激活(in-place activation)是指OLE对象的一种界面特性,具有实地激活特性的对象可以直接在包容器窗口内部进行编辑,所以有时我们也把这种特性称作实地编辑(in-place editing)或可视编辑(visual editing)。

       为了实现实地激活特性,要求OLE对象和包容器程序之间必须遵守严格的接口约定。

 

4、属性页

       属性页(property page)是OLE的一项技术,它已经成为Windows 32位平台上表达属性的基本手段。属性表(property sheet)由多个属性页组成,每个属性页有一个标题(也称为标签),通常属性表是一个有模式的对话框,而属性页是一个内嵌在属性表对话框中的无模式窗口。

       属性页技术涉及到四个方面:客户方、COM对象、属性表和属性页。它们相互之间的通信由一组预定义的COM接口以及API函数实现。


 

5、属性变化通知

       属性变化通知包括两种情形:第一,当对象改变其属性时,它先向客户发送一个请求,询问客户是否允许改变该属性;第二,当对象已经改变了属性之后,它向客户发送一个通知告诉客户该属性已经被改变。

 

6、ActiveX控制的基本要求

       属性和方法管理、事件机制、用户界面特性(可视性)、状态永久性机制。

 

7、ActiveX控制基本结构


 

8、包容器

       ActiveX控制的包容器程序通常是一个表单(form)或者对话框,也可以是复合文档的视窗口(view)或文档对象。包容器通常要管理多个ActiveX控制,或者其他Windows普通控制。

       包容器的基本功能:布局功能、永久特性、环境属性、事件处理机制、扩展控制、键盘功能。

       包容器程序支持不同的情形,分别称为设计模式和运行模式。

 

9、包容器的基本结构


 

10、使用的接口

       IOleObject和IOleClientSite是OLE的基本接口。每一个嵌入对象必须实现IOleObject接口。

       IOleControl和IOleControlSite接口扩展了ActiveX控制与站点对象之间的通信能力。由于IOleObject和IOleClientSite主要用于OLE复合文档与嵌入对象之间的通信,对于ActiveX控制与包容器,它还有其他的要求,比如环境属性、键盘控制以及扩展控制等等,IOleControl和IOleControlSite接口正是针对这些特性而设计的。

 

11、ActiveX控制与Internet

       Microsoft制定了COM规范,同时又在OLE的基础上形成ActiveX控制标准。从基本的行为特性来讲,ActiveX控制非常适用于Internet。

       从包容器的角度进行考察,Internet浏览器程序就是包容器。

       为了使程序代码量尽可能地小,Microsoft VisualC++提供了ATL模板库作为这类ActiveX控制的基本开发工具。

       IE要求ActiveX控制必须支持自注册,以便在用户浏览包含ActiveX控制的Web页面时,它可以动态地注册控制。

       一般的包容器程序通常只负责ActiveX控制的创建、运行和释放,但IE要做的事情更多一些。

 

12、包装ActiveX控制

       Microsoft采用了惯用的CAB压缩方法,它把ActiveX控制程序以及相关的其他文件放在同一个CAB文件中,然后在codebase属性中指定CAB文件的URL路径。

 

13、许可证管理

       除了免费发行的ActiveX控制之外,大多数ActiveX控制都支持设计时刻和运行时刻的许可证检查。设计时刻许可证检查可以保证程序员在创建应用系统或者Web页面时使用合法的ActiveX控制;运行时刻许可证检查可以保证用户运行一个包含合法控制的应用系统或者显示一个包含合法控制的Web页面。

 

14、ActiveX控制的开发与应用

       Microsoft提供了三个开发ActiveX控制的工具:MFC类库、ATL模板库和BaseControl框架。

       MFC重在功能,它与Visual C++集成环境紧密结合,利用MFC可以实现非常复杂的ActiveX控制。

       ATL模板库可专门用于开发COM对象,也包括ActiveX控制。利用ATL,我们可以开发出小巧、快速的ActiveX控制,特别适合于在Internet环境下使用。

       BaseControl框架开发ActiveX控制要求程序员对框架结构非常了解,有一定的难度。

 
ActiveX插件:互联网浏览的增强工具 本文还有配套的精品资源,点击获取 简介:ActiveX插件是一种由微软开发的技术,用于增强Internet Explorer浏览器的交互性和功能性。通过下载并安装到用户计算机上的各种工具、控件或应用程序,ActiveX插件可以与操作系统深度集成,提供丰富体验,但同时带来安全风险。随着浏览器技术的进步,尤其是跨平台和安全性方面的重视,主流浏览器已不再支持ActiveX插件,转... 阅读详情

相关推荐

科达视频OCX控件集成与多窗口播放实战

科达(Kedacom)multiwnd.ocx控件是一款基于ActiveX技术的视频播放组件,专为多路高清视频流的集中展示而设计,广泛应用于安防监控、远程医疗、教育录播等专业领域。该控件封装了底层音视频解码、渲染调度与设备交互逻辑,支持单实例多窗口布局管理,显著降低开发复杂度。其核心优势在于实现低延迟、高稳定性的同时,兼容IE浏览器环境下的插件式部署,适用于需大规模视频墙展示的关键业务系统。VB6 支持通过“对象下拉列表”自动绑定事件。

weixin_29476595的博客 663

ActiveX技术原理

ActiveX技术原理,大家自己看把,挺好的。

全面理解COM组件与ActiveXMFC与ATL框架下的应用实践

在信息技术飞速发展的今天,COM组件与ActiveX技术作为微软公司推动软件组件化战略的重要组成部分,曾经在软件开发领域扮演着举足轻重的角色。本章节将简要介绍COM组件与ActiveX技术的基础知识,为后续深入探讨奠定基础。COMComponent Object Model,组件对象模型)是微软提出的一种以组件为发布单元的对象模型。它允许来自不同编程语言编写的软件组件通过统一的方式进行交互。COM组件本质上是一些二进制接口的集合,这些接口能够实现特定的功能。ActiveX

weixin_42462474的博客 1084

COM组件和ActiveX个人总结-14.07.01

个人对COM组件和ActiveX开发的一些总结

COM原理应用》学习笔记之第十二章

第12章 ActiveX控制1、ActiveX控制       ActiveX控制Microsoft提供的功能强大的程序设计和开发技术。ActiveX控制既是一个自动化对象(当然也是一个标准的COM对象),也是一个界面元素,如同Windows的普通控制一样。       ActiveX控制是一门综合技术,它涉及到COM和OLE的许多技术精华,同时也与Windows操作系统紧密结合起来

787

15.COM组件技术应用之一:ActiveX控件

一、ActiveX控件(COM组件技术的应用之一)   flash.ocx   1. 概念     1.1 ActiveX控件的概念       基于COM组件技术,可以被任何支持COM标准的计算机程序的项目使用。       可是采用拖拽的方式创建,使用向一般控件一样方便。文件的后缀是ocx,有时称ocx控件。     1.2 COM组件的概念       Compo...

diandao9056的博客 483

ActiveX and Com

一、ActiveX的由来ActiveX最初只不过是一个商标名称而已,它所涵盖的技术并不是各自孤立的,其中多数都与Internet和Web有一定的关联。更重要的是,ActiveX的整体技术是由MicrosoftCOM(Component Object Model,组件对象模型)构筑的。但不要误认为ActiveX是定义了所有包含基于COM的技术。COMMicrosoft Office和Wind

nemojiang的专栏 866

COMActivex的区别

COMmicrosoft制定的一个组件软件标准,跟unix上的CORBA一样。凡是遵循COM标准开发出来的组件称为COM组件。简单的说就是要实现在二进制方式的重用 。 在windows平台上,COM的实现形式有DLL(进程内组件)和EXE(进程外组件)2种。 ActiveXMicrosoft提出的一组使用COMComponent Object Model,部件对象模型)使得软件部

ghevinn欢迎您光临 5371

介绍几本COM的书籍(韩少勇)(下)

   介绍几本COM的书籍(下)   韩少勇 美国人写书,喜欢把一些背景文化写进去,少勇非常赞赏。比如这本书中提到了“COM的生活方式”,着实让人眼睛一亮、精神为之一震。Don Box 是一位COM领域泰斗级的人物,在MSDN 中时常能见到他的大作,他所说的“COM的生活方式”实际上是在区别COM编程与传统的C++程序开发的不同以及在软件工程上的改变。书中有如下评论:“强烈建议

讲武堂-Jiangtao 3949

几本COM的书籍

介绍几本COM的书籍                     韩少勇      最有效的获取知识的途径就是读书,当然要读好书。难怪古人把求学也称作“念书”。引言实际上,写一些介绍电脑图书的文章是我长久以来的愿望。一方面由于我的朋友们经常让我为他们推荐一些切实有用的书,另一方面的原因是我在早些时候的学习并不很顺利

yacper的专栏 2256

COM原理应用学习之章节预览

第一部分:COM原理 第一章:概述,主要讲述了COM的起源,COM结构,COM特性,COM的发展前景。 COM起源讲述了OLE的发展历史,组件的产生,面向对象的组件模型-COM COM结构讲述了对象与接口,客户/服务器模型,COMCOM特性讲述了语言无关性,进程透明特性,可重用性 COM的发展前景讲述了COMWindows操作系统,COM与数据库,COM与Intranet应用,CO

tong5956的专栏 469

视频播放OCX 控件

基于MFC 开发的OCX 视频播放控件,控件默认添加信任、支持分屏播放、支持视频解码,支持osd等。通过传入RTSP地址以及用户名密码可以成功播放视频。包含有调用示例可以参照。

基于com/activeX图形控件2.0

为了方便广大开发人员及软件公司开发专业的图形软件,本团队多位图形领域专家花费多年的心血开发出功能强大且小巧的图形控件,本控件可非常方便应用于各种开发平台上。如:VC,VB,C++Builder,Delphi,C#及Web图形开发,方便快捷!可大大缩短开发周期。本控件经过严格测试,在可靠性、易用性、开放性作了大量细致工作。控件不仅在支持基本的图形元素外(点、线、圓等),而且非常方便扩充自己的图形元素

Active x

  一个典型的空间包括设计时和运行时的用户界面,唯一的IDispatch接口定义控件的方法和属性,唯一的IConnectionPoint接口用于控件可引发的事件。除此之外,一个控件还可以包含对其整个生命周期的一执性支持,以及对剪贴,拖放等用户界面特性的支持。   从结构上看,一个控件有大量必须支持的COM接口,以利用这些特性。Active X控件永远是放在其所放置的容器内运行的,空间的...

aggt89646的博客 182

Python自动化AutoCAD绘图:pyautocad完整实战指南

在工程设计领域,AutoCAD作为行业标准软件,其重复性操作占据了设计师大量工作时间。pyautocad库通过Python ActiveX接口实现了AutoCAD自动化,为工程师提供了高效的数据驱动绘图解决方案。这个开源工具让Python脚本能够直接操控AutoCAD对象,实现批量绘图、参数化设计和数据集成,显著提升设计效率。 ## 技术架构解析:ActiveX通信机制深度剖析 pyautoc

gitblog_00172的博客 248

全面掌握ActiveX控件的创建及应用实战

ActiveX控件是基于Microsoft COMComponent Object Model)技术的一组控件,旨在允许开发者在不同的编程语言和平台上共享组件。这些控件可以用于网页或应用程序,实现多媒体内容展示、数据处理、交互功能等。它们通过嵌入到网页中,使网页不再只是静态展示,而是能够提供更加丰富和动态的用户体验。COMComponent Object Model)接口是微软提出的一种跨语言、跨平台的软件组件架构标准。

weixin_31597759的博客 1964
上一篇: COM原理及应用---- 自动化(Automation)对象
下一篇: COM原理及应用---- 基于COM的程序设计
armman
博客等级 码龄21年 81粉丝 259原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值