COM/COM+/ATL
Chinamming
这个作者很懒,什么都没留下…
展开
-
ATL、MFC、WTL CString 的今生前世
话说CString这个东西困扰了很多年轻人,因为它会引起诡异的编译错误,今天跟着我一起来深入ATL、WTL头文件,来把这个东西搞个清清楚楚。【涉及到头文件】 ATL : atlstr.h, atlsimpstr.h MFC : cstringt.h、afxstr.h WTL : atlmisc.h ATL和MFC有关剪不断理还乱的关系,为了更转载 2013-05-16 09:21:36 · 1377 阅读 · 1 评论 -
标准C编写COM(八)COM in plain C,Part8
原文:http://www.codeproject.com/Articles/17038/COM-in-plain-C-part-8下载例程-419Kb内容简介 脚本代码持久化 脚本代码和“命名项” 调用脚本中的特定函数 查询/设置脚本中变量的值 查询/设置脚本中变量的值简介在前面的章节中,我们学会了如何创建Activex脚本宿主。虽然这些章节覆盖了编写一个转载 2013-12-06 10:20:15 · 959 阅读 · 0 评论 -
CoCreateInstance具体内部实现
[cpp] view plaincopyprint? CoCreateInstance(....) { //....... IClassFactory *pClassFactory=NULL; CoGetClassObject(CLSID_Object, CLSCTX_INPROC_SERVER, NULL, IID_IC转载 2013-12-06 10:25:31 · 837 阅读 · 0 评论 -
ActiveX开发详解
配套源码:http://download.csdn.net/detail/mingojiang/4743623转载请注明出自:http://blog.csdn.net/MingoJiang一、ActiveX基础1.1什么是ActiveX ActiveX是COM规范的一种实现,前身是OLE(Object Linking and Embedding)。一般读成:Act转载 2013-12-06 10:33:26 · 1059 阅读 · 0 评论 -
用标准C编写COM(一)COM in plain C,Part1
原文:http://www.codeproject.com/Articles/13601/COM-in-plain-C 如何在不使用MFC、ATL、WTL或其他框架下使用标准C来创建和使用COM组件 下载例程-17.6kb内容: 简介 COM 对象和虚表 GUID QueryInterface(), AddRef转载 2013-12-06 10:16:34 · 973 阅读 · 0 评论 -
用标准C编写COM(二)COM in plain C,Part2
原文:http://www.codeproject.com/Articles/13862/COM-in-plain-C-Part-2如何用C编写可以被Vbscript、VB和jscipt等脚本语言调用的COM组件 下载例程-93.5kb内容: 简介 为何脚本语言不能使用我们的DLL? 自动化数据类型(也就是BSTR、VARIANT) IDis转载 2013-12-06 10:17:09 · 1463 阅读 · 0 评论 -
用标准C编写COM(七)COM in plain C,Part7
原文:http://www.codeproject.com/Articles/15037/COM-in-plain-C-Part-7拥有自定义COM对象的ActiveX脚本宿主允许在你的应用程序中调用C函数。 下载例程- 380 Kb内容 简介 声明自定义对象 我们的IDL文件和类型库 向引擎注册我们的COM对象 脚本如何调用我们COM转载 2013-12-06 10:19:47 · 837 阅读 · 0 评论 -
用VC进行COM编程所必须掌握的理论知识
转自:http://www.yesky.com/20020715/1620482_1.shtml(作为一个初学者,觉得本文挺好,推荐给大家)这篇文章是给初学者看的,尽量写得比较通俗易懂,并且尽量避免编程细节。完全是根据我自己的学习体会写的,其中若有技术上的错误之处,请大家多多指正。 一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在转载 2013-12-06 10:23:24 · 806 阅读 · 0 评论 -
COM编程入门不得不看的文章 :第一部分 什么是COM,如何使用COM
原文:http://www.codeproject.com/Articles/633/Introduction-to-COM-What-It-Is-and-How-to-Use-It 本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。转载 2013-12-06 10:23:59 · 1140 阅读 · 0 评论 -
COM编程入门不得不看的文章 :第二部分 深入COM服务器
原文:http://www.codeproject.com/Articles/901/Introduction-to-COM-Part-II-Behind-the-Scenes-of-a 本文为刚刚接触COM的程序员提供编程指南,解释COM服务器内幕以及如何用C++编写自己的接口(前一篇博文主要是COM编程的入门:COM编程入门不得不看的文章 :第一部分 什么是COM,如何使转载 2013-12-06 10:24:31 · 1098 阅读 · 0 评论 -
从Win8回顾微软技术平台的发展
我安装好Win8 CTP后做的第一件事情就是用调试器研究Win8各个组件的协作关系. 从我半天的研究结果看来, Win8真是一个让我爱不释手的产品. Win8里面涉及到的很多技术正好也是我的兴趣所在. 这篇文章简单回顾一下这些技术的变迁, 优缺点, 和对Win8的影响.注意, 下面提到的对Win8的分析, 是基于公开的Win8 CTP来做的. 相信Win8面世的时候, 这些转载 2013-12-06 09:50:41 · 1272 阅读 · 0 评论 -
微软技术与技术学习
原文地址:http://www.cnblogs.com/JeffreyZhao/archive/2010/11/05/silverlight-and-microsoft-technology-2-microsoft-technology-and-how-to-learn.html经常听到有人说微软的技术变化太快,持续性不好,让程序员追得很累。这种观点在微软技术社区内部和外部都有出现,似乎是一个转载 2013-12-06 09:56:43 · 812 阅读 · 0 评论 -
用标准C编写COM(三)COM in plain C,Part3
原文:http://www.codeproject.com/Articles/14037/COM-in-plain-C-Part-3用C编写COM集合 下载例程-174kb内容 简介 定义集合对象 辅助函数 我们集合对象的函数 应用程序获得我们集合对象的方法 VBScript例程 C例程 IEnumVARIANT转载 2013-12-06 10:17:50 · 1344 阅读 · 0 评论 -
用标准C编写COM(五)COM in plain C,Part5
原文:http://www.codeproject.com/Articles/14183/COM-in-plain-C-Part-5添加连接对象(源、接收器)下载例程-246Kb内容 简介 在COM对象中封装回调函数 IConnectionPointContainer和IConnectionPoint对象 C应用程序例程 添加脚本语转载 2013-12-06 10:18:48 · 743 阅读 · 0 评论 -
COM思想的背后
最近看公司的一些新产品和框架 , 发现清一色的“COM思想架构 ”, 这里说的“COM思想架构”是指不完全是标准COM组件的方式,而是指在设计上用到了COM思想。COM组件技术大概在1993年产生, 20年了, 为什么还有这么多人使用? 我们先来看看标准COM组件:标准COM组件(DLL方式)需要实现如下4个导出函数:DllRegisterServer 将组件信息写转载 2014-02-08 21:33:07 · 1173 阅读 · 0 评论 -
用标准C编写COM(六)COM in plain C,Part6
原文:http://www.codeproject.com/Articles/14905/COM-in-plain-C-Part-6如何用C编写ActiveX Script Host。下载例程-305Kb内容 简介 选择、打开引擎 我们的IActiveScriptSite对象 VBScript例程 初始化引擎 向引擎添加脚本转载 2013-12-06 10:19:17 · 954 阅读 · 0 评论 -
用标准C编写COM(四)COM in plain C,Part4
原文:http://www.codeproject.com/Articles/14117/COM-in-plain-C-Part-4用C构造多接口的COM对象下载例程-194kb内容 在我们的对象中嵌入子对象 应用程序获取基对象的方法 应用程序通过基对象获取子对象的方法 应用程序从一个子对象获取另一个子对象的方法 应用程序获得我们集合对转载 2013-12-06 10:18:19 · 1372 阅读 · 0 评论 -
使用VC6.0开发COM组件 - 傻瓜式,不讲理论,只讲实例
1.创建一个ATL COM AppWizard工程,如图:2. 选择 Dynamic link Library (DLL),其它两个请百度,或参照其它文档。如下图:3. 添加一个自己的COM类,用于导出需要用到的接口。步骤如下:选择类视图->右键工程->新建类(New Class) 如下图:弹出对话框后,选择 ATL CLASS,输入类名,如下图:然后,在类视转载 2013-12-06 10:01:18 · 936 阅读 · 0 评论 -
Embed an HTML control in your own window using plain C
Embed an HTML control in your own window using plain CBy Jeff Glatt, 3 Aug 2006 Mandatory COM objects we must create Extra COM objects we may choose to create Obtain the browser object Dis转载 2013-05-22 19:50:25 · 1514 阅读 · 0 评论 -
消除关于.NET的四个误解
http://www.fawcette.com/China/DotnetMagazine/2002_07/article.asp?page=1&xml=Clearing 同任何新的技术一样,人们对.NET也有一些误解。让我们来看看四个最普遍的误解的真 实情况吧。 by Mark Driver 涉及技术: .NET Framework, Visual Basic .NE转载 2013-05-22 14:15:10 · 740 阅读 · 0 评论 -
MS历史学习:OLE COM DCOM COM+技术与OPC技术
微软的许多技术,如OLE、ActiveX、以及DirectX等都是基于COM技术而建立起来的。微软本身也大量地使用COM组件来定制他们的应用程序及操作系统。OLE(Object Link Embeded) = ActiveXole是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程序的链接的混合文档以使用户修改时不必在应用程序间切换的协议。OLE基于组件对转载 2013-05-08 18:56:23 · 2336 阅读 · 0 评论 -
用VC进行COM编程所必须掌握的理论知识
一 、 为什么要用 COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的 COM 编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件 划分成许多模块,每个模块完成各自不同的功能,尽量做到高内聚低藕合,这已经是一个很好的开始,我们可以把不同的模块分给不同的人去做,然后合到一块,这转载 2013-05-11 15:51:25 · 796 阅读 · 0 评论 -
COM, COM+ and .NET 的区别
所有的优秀程序员都会尽自己的最大努力去使自己所写的程序具有更好的可重用性,因为它可以让你快速地写出更加健壮和可升级性的程序。 有两种使代码重用的选择: 1.白盒:最简单的一种,就是把你的程序片拷贝到另一个文件中。 2.黑盒:它包括把编译过的程序片连接起来。因此客户端可以调用的编译过的黑盒类库就叫作组件。 .Net中也同样为开发者提供了类似于COM转载 2013-05-13 16:37:50 · 1084 阅读 · 0 评论 -
MFC,ATL,WTL的历史沿袭--
需求推动了技术的发展,从MFC到ATL,从ATL再到WTL的发展历程我想就是一个最好的见证。早期的VC++开发者们发现了MFC(Microsoft Foundation Classes) 这样一个好东东。他们发现,MFC提供了一个强大的类库,很好的满足了面向对象编程的需要。随着泛型编程技术的发展和时间的推移,慢慢地,他们慢慢觉得MFC的类库过于庞大和宽泛,而且它提供的模板库只覆盖了很有限的领域转载 2013-05-08 20:03:47 · 748 阅读 · 0 评论 -
OLE技术
OLE技术 译者注:(整体通讯架构:OLE客户端应用程序 ——> OLE客户端库 ——> OLE服务器库 ——> OLE服务器应用程序) 概要: OLE是一种技术,可以用来创建复杂文档,这些复杂文档包含的信息来自不同的渠道(数据源)。例如,一个支持OLE的字处文档(例如word)能够支持嵌入的表格对象。与传统的“拷贝和 粘贴”方式不一样,“拷贝和粘贴”会改转载 2013-06-11 01:31:35 · 1794 阅读 · 0 评论 -
Visual C++中的ADO编程
摘 要:本文介绍了微软推出的以ActiveX技术为基础的ADO数据存取技术,分析了ADO的工作原理,并用Visual C++说明了ADO数据访问技术的实现方法。关键字:ADO;连接对象;OLE DB;数据存取;记录集 ADO(ActiveX Date Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术。ADO技术基于COM(Co转载 2013-06-26 22:39:33 · 978 阅读 · 0 评论 -
COM in plain C By Jeff Glatt.
ContentsA COM object and its VTable A GUID QueryInterface(), AddRef(), and Release() An IClassFactory object Packaging into a DLL Our C++/C include file The Definition (DEF) file Insta转载 2013-05-22 19:38:10 · 1119 阅读 · 0 评论 -
VC6.0开发OCX按钮控件
0 前言1、OCX是典型的ActiveX控件,常见的OCX控件有很多,IE浏览器、Word、Excel等都提供各种各样的OCX控件。2、OCX控件的优点是可以在其他应用程序中嵌入使用。OCX控件做为插件、外挂式的应用非常灵活方便。3、一般用的比较多的是做为视频、图片、图表等显示区域控件。最近碰到几个按钮的功能要封装成OCX控件,供其它程序使用。网上大概搜索了下,资料不多,于是自己写转载 2013-07-09 08:39:49 · 2954 阅读 · 0 评论 -
COM,ATL,WTL,OLE,STL,MFC
This part referenced from Microsoft What is COM?Microsoft COM (Component Object Model) technology in the Microsoft Windows-family of Operating Systems enables software components to communicate. C转载 2013-11-21 13:24:30 · 1602 阅读 · 0 评论 -
用ATL建立轻量级的COM对象
本文假设你熟悉C++和COM。摘要: ATL——活动模板库(The Active Template Library),其设计旨在让人们用C++方便灵活地开发COM对象。ATL本身相当小巧灵活,这是它最大的优点。用它可以创建轻量级的,自包含的,可复用的二进制代码,不用任何附加的运行时DLLs支持。 由于COM技术良好的口碑,越来越多的程序员已经走进或正在走进COM的编程世转载 2013-11-21 13:35:23 · 4055 阅读 · 1 评论 -
ATL与COM之间的关系、ATL的特点与基本使用方法
ATL,Active Template Library活动模板库是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用。这种COM组件可以包含属性页、对话框等等控件。ATL简介 一. 什么是ATL 自从1993年Microsoft首次公布了COM技术以转载 2013-11-21 13:26:29 · 1259 阅读 · 0 评论 -
COM组件与.Net组件的比较
1、COM组件与.Net组件的比较 COM技术要早于.Net技术。COM定义了一个组件模型,在该模型中,组件可以使用不同的编程语言进行编写,其可以在本地进程中使用,也可以跨进程使用或者在网络上使用。.Net组件的目标也是这样,但这些目标的实现方式是不同于COM的实现方式的。.Net组件达到了与COM类似的目标,但是它引入了新概念,实现起来也更容易了。就目前而言,COM组件转载 2013-11-21 13:47:45 · 4572 阅读 · 0 评论 -
理解ATL中的一些汇编代码
我们知道ATL(活动模板库)是一套很小巧高效的COM开发库,它本身的核心文件其实没几个,COM相关的(主要是atlbase.h, atlcom.h),另外还有一个窗口相关的(atlwin.h), 所以拿来学习应该是很方便的。但是因为ATL的代码充满了模板和宏,内部还夹杂着汇编,所以如果没有比较丰富的C++模板和系统底层的知识,一般人会看得一头雾水。下面我们主要分析一下ATL中的一些汇编代码转载 2014-02-08 21:37:10 · 1404 阅读 · 0 评论