VS 2022创建ATL组件 (C++)
https://www.cnblogs.com/chechen/p/8119018.html
步骤如下:
1、新建ATL项目
打开Visual Studio 2022 新建ATL项目

2、添加接口类、实现接口方法 .
添加一个新的ATL对象。右键MyComTest项目→ 添加→ 新建项→ATL→ATL简单对象→名称为Temp→添加→ProgID取名为项目名+“.”+短名称→完成。

3.创建自己的方法。在头文件Add.h中添加声明

4.在源文件Add.cpp中添加函数实现

5在MyComTest.idl中添加方法接口设置,如interface IAdd:IDispatch中所示。

6.解决方案配置选择release, 平台选择x64,生成。MyComTest.dll 为 64位的COM 组件。MyComTest.tlb 是之后C++ 调用Com所需要包含的文件。


7.注册COM组件。
注册。在当前目录以管理员身份打开CMD,输入如下代码,完成注册。

8, 调用COM组件
在该解决方案下,添加C++控制台应用,在此工程中添加MyComTest工程中的两个头文件(MyComTest_i.c,MyComTest_i.h --主要用来查看CLSID和IID),在TestMyCom.cpp文件中添加引用
添加测试代码

运行

VS 2022创建ATL组件 (C++)的更多相关文章
- VS2012创建ATL工程及使用MFC测试COM组件
一.创建ATL工程 1.创建ATL项目,取名为ATLMyCom 2.在ATL项目向导中,勾选[支持MFC](利用MFC测试用).[支持 COM+ 1.0],其余的选项默认,点击完成. 3.右键工程名称 ...
- VS2010 C++ 创建COM组件
1.项目中要使用到com组件,于是了解了一下com,并根据<C#高级编程>中关于com的介绍用vs创建了一下com,用于实验.以下均根据书中的demo做一遍,熟悉一下而已. 2.创建CoM ...
- HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)
Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- UGUI 快捷键创建UGUI组件
使用NGUI的时候还有xxx快捷键创建, spirte,label,button等等. 在UGUI里面的时候好像是没有快捷键的. 不知道以后多久才能有这个功能. 在家里闲无聊的时候写了一个脚本, ...
- 动态创建angular组件实现popup弹窗
承接上文,本文将从一个基本的angular启动项目开始搭建一个具有基本功能.较通用.低耦合.可扩展的popup弹窗(脸红),主要分为以下几步: 基本项目结构搭建 弹窗服务 弹窗的引用对象 准备作为模板 ...
- vue通过extend动态创建全局组件(插件)学习小记
测试环境:nodejs+webpack,例子是看文章的,注释为自己的理解 创建一个toast.vue文件: <template> <div class="wrap" ...
- C#创建COM组件
本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用. 附:本文适用任何VS系列工具. 在用C#创建COM组件时,一定要记住以下几点: 1.所要导出的类必须为公有: 2.所有属性.方法也必须为 ...
- C#创建COM组件供VB,PB,Delphi调用
1 COM组件概述 COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成 ...
- vue.js+koa2项目实战(二)创建 HeadBar 组件
elementUI界面布局 1.创建 HeadBar 组件 HeadBar.vue <template> <el-row> <el-col :span="2&q ...
随机推荐
- node-sass低版本与高版本的node会有兼容性问题,导致安装失败
node版本v14.18.1 node-sass版本v4.13.0 Python 2.7.18
- 修改 input框、textarea框的placeholder样式
/* 设置input框提示内容的样式 */ input::-webkit-input-placeholder { font-size: 14px; color: #ccc; font-weight: ...
- MongoDB 用户及权限增删
本文主要是MongoDB4.X的操作 一.MongoDB用户创建 MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问. 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限 ...
- 使用react脚手架创建项目报错-You are running `create-react-app` 5.0.0, which is behind the latest release (5.0.1).
创建项目报错: You are running `create-react-app` 5.0.0, which is behind the latest release (5.0.1). We no ...
- 大数据分析——matplotlib
参考链接:https://blog.csdn.net/xavier_muse/article/details/83859272 fig,ax = plt.subplots()等价于: fig = pl ...
- 查询某数据库的某字段存在于哪些表 mysql
select column_name,column_comment,data_type ,table_name from information_schema.columns where table ...
- 关于JavaScript的一些用法
关于JavaScript的死链设置问题<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> ...
- 网络编程之 requests 模块
1. get 请求 1 import requests 2 url = 'http://api.xxxx.cn/api/user/stu_info?stu_name=xiaohei' 3 data = ...
- [2007年NOIP普及组] 奖学金
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序, ...
- springboot自动装配静态成员变量
首先要说的是,springboot并不能装配静态类,但可以通过以下骚操作来实现: @Component public class StatisticLogger { private static Da ...