ATL(Active Template Library)动态模板库,是一个类库,可以使用它进行COM开发。本文通过一个基础入门的例子,简要介绍如何定义、实现COM接口,前台如何调用COM接口。
先看例子最终效果:
一、新建项目:
向导完成后,生成的工程源码如下:
二、添加一个ATL对象:AtlDemoIf
添加ATL对象后新增的文件如下:
三、AtlDemoIf对象中添加接口方法:ConcatStr,并定义接口参数
这时,AtlDemo.idl文件中新增了一个接口:
AtlDemoIf.h中新增了一个公开成员函数:
AtlDemoIf.cpp中新增了函数体:
四、写一个简单的html网页进行测试:

工程编译后会自动注册COM,没有注册的可使用命令regsvr32 xxx.dll注册,如图:

这时注册表(regedit)中会写入相应的数据:

这时,只能使用IE浏览器打开网页测试,因为只有IE支持COM组件调用,其他内核的浏览器想要实现类似功能可以使用npapi,详细请参考《使用NPA ??件的源码实例》。
源码点此下载,如有问题请点此。