VS2010创建ATL工程及使用C++测试COM组件
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组件相关推荐
- VS2012创建ATL工程及使用MFC测试COM组件
VS2012创建ATL工程及使用MFC测试COM组件 原创 2015年01月22日 16:23:21
- VS2010创建ATL类时需要手动填写ProgID
在新建ATL类的时候VS2010默认是不填写ProgID的: 所以默认创建的类生成的rgs文件中只有NoRemove CLSID这一栏,导致在JS中使用new ActivexObject(" ...
- mfc随记:基于vs2010创建MFC ActiveX控件并测试
一.新建一个空项目 以管理员打开vs2010,选择新建一个mfc activeX控件,填写项目名称和路径,其他无需修改,直接默认一直下一步即可 二. 添加测试方法 在底部tab栏切换到类视图,右键添加 ...
- 使用vs2010创建MFC工程后,vs2010的bug,不知道你们有没有
当你创建一个vc MFC的项目时,会产生一个以项目名开头的app类,比如你创建的是"Test"项目 会生成一个"CTestApp"类,当你从类列表双击类名,到这 ...
- C++ 使用VS2010创建MFC ActiveX工程项目
1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行.这个容器包括WEB网页,应用程序窗体等... Activ ...
- C++基于ATL工程编写ActiveX控件
开发环境:VS2010 开发工程:C++ATL项目 开发目的:创建ActiveX实现js调用 步骤: 1. 创建一个ATL工程 应用程序类型选择动态链接库(DLL),勾选支持COM+1.0, ...
- maven的安装、路径配置、修改库文件路径和eclipse中的配置、创建maven工程(转)...
一.maven的安装 首先,先到官网去下载maven.这里是官网的地址:http://maven.apache.org/download.cgi 请选择最新的版本下载: 解压apache-maven ...
- Bada学习- C++以及Flash应用开发流程之创建应用工程
本文译自三星官方bada开发网 最近工作有点忙,发的少了,还望见谅. 译的不对的地方希望多多指正.感激ING... 创建应用工程 当你在 bada developer site定义好你的 applic ...
- IDEA创建Maven工程
文章目录 创建Maven过程 项目目录结构简述 创建实体类测试 创建Web工程 创建Maven过程 打开IDEA,创建新项目 这就创建好了 其中pom.xml文件主要用来存储jar包.插件.依赖等信息 ...
最新文章
- elasticsearch 的filter cache (search 技术的冰山一角)
- 从任何兼容 TWAIN 的设备获取图象的控件Dynamic Web TWAIN
- Gitter - 高颜值GitHub小程序客户端诞生记 1
- web kettle 数据采集
- C语言/C++项目——黄金矿工
- CSAPP 第二章家庭作业2.70
- 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)
- 木马编程入门_逆向入门分析实战(一)
- 解决qt5在windows系统下中文乱码的问题的简单方法
- VR虚拟现实技术类毕业论文文献都有哪些?
- 产品上架后,亚马逊运营应该做什么
- 量化投资学习——股指期货研究(二)
- MyBatis---插件
- 如果说7nm是制程工艺物理极限 那么1nm是什么概念?
- 单变量分析绘图及回归分析绘图【知识整理】
- 学Linux操作之前不得不了解的知识!!!
- 觅链 - 分享、发现精彩的互联网
- VTY方式接入网络设备
- 马云2017年数博会全文实录:IOT、大数据将对传统制造业带来巨大的冲击!
- i12蓝牙耳机充电仓怎么看充满电_HIK真无线蓝牙耳机,平价并不差
热门文章
- C语言:为什么用fprintf(stderr,Error);比printf(Error);更好?
- Class.forName和ClassLoader
- php执行npm命令_npm系列之命令执行
- windows无法访问指定设备路径或文件_完全免费的文件数据恢复工具:Microsoft Windows File Recovery...
- JDBC笔记02-数据库连接池 Spring JDBC
- 【MySQL】Linux端-实现Mysql数据定时自动备份
- css的属性是变量是怎么表达,CSS自定义属性(变量)
- virtual析构函数的作用?
- iphone无线充电充电测试软件,瞎折腾星人的测评 篇一:想体验iPhone的无线充电?这可能是最具性价比的选择了!...
- uboot源码——gd_t和bd_t数据结构