COM&&ATL
文章平均质量分 83
firectrl
这个作者很懒,什么都没留下…
展开
-
ATL揭秘之“对象创建”篇
ATL揭秘之“对象创建”篇程 化1 问题当我们用VC++ ATL工程创建了一个COM工程,实现了一个自己的COM对象,又在另一个程序中CoCreateInstance这个COM对象时,不知你是否想过这样的问题:COM对象是用C++类对象实现的,但是,我们从来没有在自己的代码中创建这些C++类对象——比如,“new”这些对象。那么,实现COM对象的C++对象是由谁,何时转载 2007-09-14 19:51:00 · 653 阅读 · 0 评论 -
ATL布幔之下的秘密(2)
原作者:Zeeshan Amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_2.asp介绍 在本系列的教程中,我要讨论一些ATL的内部工作方式以及它所使用的技术,这是本系列的第二篇文章。 现在让我们来探究一些虚函数背后更加有趣的资料。为了和上文保持一致,在本文的讨论中我将使用相同的顺序,程序的序号从20开始。 让我们看看下面这个转载 2007-09-18 22:12:00 · 488 阅读 · 0 评论 -
ATL布幔之下的秘密(1)
原作者:Zeeshan Amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_.asp介绍 在本系列的教程中,我要讨论一些ATL的内部工作方式以及它所使用的技术。 在讨论的开始,让我们先看看一个程序的内存分布。首先,编写一个简单的程序,它没有任何的数据成员,你可以看看它的内存结构。程序1.#include using nam转载 2007-09-18 22:11:00 · 530 阅读 · 0 评论 -
CComPtr 和 CComQIPtr
ATL 提供了2个智能指针的模板包装类,CComPtr,这两个类都在 中声明。CComQIPtr的所有功能,因此我们可以完全用 CComQIPtr 由于使用了运算符的重载功能,它会自动帮我们调用QueryInterface()函数,因此 CComQIPtr // 智能指针 smart pointer,按照匈牙利命名法,一般以 sp 开头来表示变量类型 CComPtr spUnk原创 2007-09-18 21:55:00 · 2328 阅读 · 0 评论 -
ATL布幔之下的秘密(5)
原作者:Zeeshan Amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_5.asp点这里下载本文配套源代码介绍 很多人认为ATL只是用来编写COM组件的,其实你也可以使用ATL中的窗口类来创建基于窗口的应用程序。虽然你可以将基于MFC的程序转换为ATL,但是ATL中对于UI(译注:用户界面)组件的支持太少了。所以,这就要求你需要转载 2007-09-18 22:18:00 · 531 阅读 · 0 评论 -
ATL布幔之下的秘密(4)
原作者:Zeeshan Amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_4.asp介绍 到现在为止,我们还没有讨论过任何有关汇编语言的东西。但是如果我们真的要了解ATL底层内幕的话,就不能回避这一话题,因为ATL使用了一些底层的技术以及一些内联汇编语言来使它更小巧快速。在这里,我假设读者已经拥有了汇编语言的基础知识,所以我只会集转载 2007-09-18 22:16:00 · 466 阅读 · 0 评论 -
ATL布幔之下的秘密(3)
原作者:Zeeshan Amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_3.asp介绍 如果你是个模板的高手,你就可以将ATL的学习作为一种享受。在这一节中,我将要尝试解释一些ATL使用的模板技术。我不能保证你读完本节后能成为一个模板高手,只能是尽我所能让你在读完本文后能够更轻松地理解ATL的源码。程序35.#include u转载 2007-09-18 22:15:00 · 635 阅读 · 0 评论 -
ATL7窗口类剖析
目录:ATL7窗口类剖析... 1目录:... 1前言:... 1第一章 HWND和CWindow类... 1Create成员函数:... 2使用CWindow类... 3第二章 CWindowImpl类... 4ProcessWindowMessage与消息映射宏... 4窗口创建与消息路由... 6窗口转载 2007-09-18 22:07:00 · 931 阅读 · 0 评论 -
用 ATL 编写 Windows 服务
下载源代码有时候,我们需要自己写的程序在没有用户登陆的情况下,只要Windows系统启动就运行,那我们可以把我们的程序写成一个Windows服务。 服务是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行。下面,我将用一个简单的例子说明如何用ATL来编写Windows服务程序。首先,我们新建一个Pr转载 2007-09-18 21:50:00 · 1004 阅读 · 0 评论 -
Learning WTL8.0
学习WTL可以有多种方式,当然如果有COM和ATL的知识背景最好不过,如果你有MFC编程背景却最为糟糕,除非你对MFC无所不知、无所不能(如果你不是MFC的ORACLE,那么最好忘却它) Learning WTL8.0 Part-1 Learning WTL8.0 Part-1 Win32 vs. ATL Windows Programming转载 2007-09-20 23:21:00 · 2751 阅读 · 1 评论