VS2010创建ATL工程及使用C++测试COM组件
1.创建ATL项目,取名MyCom

2. ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。

3.在该项目中添加类

4.添加一个ATL简单对象

5. ATL 简单对象向导,“简称”中输入类名称MyClass,其他输入框会自动填写,最下面的“ProgID”没有自动填写,最好自己写上一个,如MyCom.math,否则后面无法正确调用组件,点击“完成”。如果出现提示【是否覆盖现有文件】,点击【是】即可。

ProgID:客户端用来取代CLSID
创建此组件的编程ID
6. 切换到类视图,选中刚才添加的接口IMyClass,如下,然后右键单击【添加】添加方法。

7.添加方法TotalSum,依次选择参数类型并输入参数名字
此处传入一个参数n(in),返回一个参数sum(out)

8. 切换到解决方案资源管理器,展开项目“源文件”, 双击 MyCom.idl 打开IDL定义文件,看到如下代码,就是定义的COM方法了。

9. 双击打开MyClass.cpp 编辑代码,计算0到n的总和

#define STDMETHODIMP HRESULT
10.编译运行,会生成dll文件,并自动注册到系统中。
11.测试该COM组件,可以将MyCom_i.h和MyCom_i.c两个文件拷贝到自己的自己创建的工程目录下。

12.测试组件运行结果:

VS2010创建ATL工程及使用C++测试COM组件相关推荐

  1. VS2012创建ATL工程及使用MFC测试COM组件

    VS2012创建ATL工程及使用MFC测试COM组件 原创  2015年01月22日 16:23:21

  2. VS2010创建ATL类时需要手动填写ProgID

    在新建ATL类的时候VS2010默认是不填写ProgID的: 所以默认创建的类生成的rgs文件中只有NoRemove CLSID这一栏,导致在JS中使用new ActivexObject(" ...

  3. mfc随记:基于vs2010创建MFC ActiveX控件并测试

    一.新建一个空项目 以管理员打开vs2010,选择新建一个mfc activeX控件,填写项目名称和路径,其他无需修改,直接默认一直下一步即可 二. 添加测试方法 在底部tab栏切换到类视图,右键添加 ...

  4. 使用vs2010创建MFC工程后,vs2010的bug,不知道你们有没有

    当你创建一个vc MFC的项目时,会产生一个以项目名开头的app类,比如你创建的是"Test"项目 会生成一个"CTestApp"类,当你从类列表双击类名,到这 ...

  5. C++ 使用VS2010创建MFC ActiveX工程项目

    1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行.这个容器包括WEB网页,应用程序窗体等... Activ ...

  6. C++基于ATL工程编写ActiveX控件

    开发环境:VS2010 开发工程:C++ATL项目 开发目的:创建ActiveX实现js调用 步骤: 1.      创建一个ATL工程 应用程序类型选择动态链接库(DLL),勾选支持COM+1.0, ...

  7. maven的安装、路径配置、修改库文件路径和eclipse中的配置、创建maven工程(转)...

    一.maven的安装 首先,先到官网去下载maven.这里是官网的地址:http://maven.apache.org/download.cgi  请选择最新的版本下载: 解压apache-maven ...

  8. Bada学习- C++以及Flash应用开发流程之创建应用工程

    本文译自三星官方bada开发网 最近工作有点忙,发的少了,还望见谅. 译的不对的地方希望多多指正.感激ING... 创建应用工程 当你在 bada developer site定义好你的 applic ...

  9. IDEA创建Maven工程

    文章目录 创建Maven过程 项目目录结构简述 创建实体类测试 创建Web工程 创建Maven过程 打开IDEA,创建新项目 这就创建好了 其中pom.xml文件主要用来存储jar包.插件.依赖等信息 ...

最新文章

  1. elasticsearch 的filter cache (search 技术的冰山一角)
  2. 从任何兼容 TWAIN 的设备获取图象的控件Dynamic Web TWAIN
  3. Gitter - 高颜值GitHub小程序客户端诞生记 1
  4. web kettle 数据采集
  5. C语言/C++项目——黄金矿工
  6. CSAPP 第二章家庭作业2.70
  7. 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)
  8. 木马编程入门_逆向入门分析实战(一)
  9. 解决qt5在windows系统下中文乱码的问题的简单方法
  10. VR虚拟现实技术类毕业论文文献都有哪些?
  11. 产品上架后,亚马逊运营应该做什么
  12. 量化投资学习——股指期货研究(二)
  13. MyBatis---插件
  14. 如果说7nm是制程工艺物理极限 那么1nm是什么概念?
  15. 单变量分析绘图及回归分析绘图【知识整理】
  16. 学Linux操作之前不得不了解的知识!!!
  17. 觅链 - 分享、发现精彩的互联网
  18. VTY方式接入网络设备
  19. 马云2017年数博会全文实录:IOT、大数据将对传统制造业带来巨大的冲击!
  20. i12蓝牙耳机充电仓怎么看充满电_HIK真无线蓝牙耳机,平价并不差

热门文章

  1. C语言:为什么用fprintf(stderr,Error);比printf(Error);更好?
  2. Class.forName和ClassLoader
  3. php执行npm命令_npm系列之命令执行
  4. windows无法访问指定设备路径或文件_完全免费的文件数据恢复工具:Microsoft Windows File Recovery...
  5. JDBC笔记02-数据库连接池 Spring JDBC
  6. 【MySQL】Linux端-实现Mysql数据定时自动备份
  7. css的属性是变量是怎么表达,CSS自定义属性(变量)
  8. virtual析构函数的作用?
  9. iphone无线充电充电测试软件,瞎折腾星人的测评 篇一:想体验iPhone的无线充电?这可能是最具性价比的选择了!...
  10. uboot源码——gd_t和bd_t数据结构