随笔分类 - ATL
摘要:OLE文档接口 如果你所开发的控件需要提供一个可视化界面,并需要通过鼠标点击或类似的方式与用户实现交互,则它必须支持基本的OLE文档接口:IoleObject、IOleInPlace、IoleInPlaceActiveObject、IdataObject以及IviewObject2。下表将对这些接口进行了简要的介绍接口说明IoleObjectIoleObject提供了OLE文档架构的基本内容。通过...
阅读全文
摘要:设置VS2008和IE8 调试ATL控件VS2008设置篇: 设置VS2008 通过IE8 调试ATL的ActiveX控件的步骤如下:(1) 设置项目属性通过菜单项 “项目—》你的项目属性”如下图:(2) 在弹出的属性页对话框中选中“配置属性—》调试”,在右边填入下列参数:命令 :C:\Program Files\Intern...
阅读全文
摘要:CComObjectRootBase中以表驱动的方式对接口的查询作了一个内部的实现,即InternalQueryInterface()。所以在创建基于ATL的COM类时,需要创建一个包含所有实现接口的映射表。1. BEGIN_COM_MAP、END_COM_MAP、COM_INTERFACE_ENTRY与COM_INTERFACE_ENTRY2宏ATL提供了BEGIN_COM_MAP、END_CO...
阅读全文
摘要:ATL开发指南的第三章的讲述的重点有四个: 1.ATL如何提供对组件宿主的支持。 2.ATL如何提供对IUnknown接口实现的支持。 3.ATL如何提供对类工厂的支持。 4.ATL如何提供对组件自注册的支持。3.1 ATL 的基本特征描述:ATL提供了实现基于COM组件内核的支持.下面是ATL所提供的一些功能1.AppWizard,它负责创建起始的ATL工程2.Object Wi...
阅读全文
摘要:1.Objectsa.Simple Object:用于实现业务逻辑,无用户界面(User Interface)。只实现了IUnknown和default 厂类。b.Add-in Object:用于实现创建整合到VC IDE的COM组件。支持Toolbar和Event Handling,允许实现对VS commands的响应。支持并且实现了IDSAddln接口(此接口用于VC IDE和对象的交互)。...
阅读全文
摘要://// 注意rgs文件是没有注释符,这里"//"是我为了加说明而使用,使用此文件时应把这些注释去掉//HKCR{//// 千万注意要在这里的 'Component Categories'和 'CLSID' 前加的 NoRemove,如果没有加,// 则在组件卸载时会将这两项从注册表中删掉,要是CLSID删掉,那就悲剧了,准备重装系统吧。 //NoRemove 'Component Categor...
阅读全文
摘要:表 ATL的工程结构文件名说明ProjectName.cpp它是主工程文件。里面包含了COM所需的支持函数,这些函数用来为你的组件提供宿主文件。ProjectName.h组件在宿主文件里的接口声明。MIDL编译器自动生成了该文件。编译工程的IDL的文件就是为了生成该文件。ProjectName.idl你的工程的IDL文件。你可以在这里添加接口和方法定义。MIDL心编译器处理该文件并为工程生成一个类...
阅读全文
摘要://// SetRegKeyValue - Private function that updates the registry// 设置注册表 键和键值//static BOOL SetRegKeyValue( LPTSTR pszKey,//主键 LPTSTR pszSubkey,//子键 LPTSTR pszValue )//键值{ BOOL bOk = FALSE; LONG ec; HK...
阅读全文
摘要:Widows注册表HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字。在CLSID关键字之下列有系统中安装的所有组件的CLSID。注册表CLSID是一个具有如下格式的串:00000010-0000-0010-8000-00AA006D2EA4 HKEY_CLASSES_ROOT的开头,列出的将是各种应用程序所注册的文件扩展名。在扩展名之后,可以看到许多其他的名字。此...
阅读全文
摘要:COM组件的一般由以下三个文件进行定义和实现:1. IMATH.H 组件的接口定义文件2. MATH.H 组件的头文件3. MATH.CPP 组件的实现文件IMATH.H一般定义了组件的接口和一些GUID,内容如下//// imath.h// 三个GUID分别唯一标识了组件类和两个接口,以便客户程序可以通过这两个GUID获得组件类和两个接口的实例引用。// {A888F560-58E4-11d0-...
阅读全文
摘要:COM的宿主文件DLL 的构成:Server.cpp 和 Sever.def。Server.cpp 定义四个供windows、COM运行库和一些组件注册工具(如REGSVR32.EXE)使用的标准函数,如以下://// DllMain - // Called by Windows when important events happen // to the DLL. In particular, ...
阅读全文

浙公网安备 33010602011771号