Visual Studio 2013
其他版本

如果使用 Visual Studio 编写 Windows 运行时 C++ 模板库 (WRL) 项目,可以通过下载 WRL 类库项目模板极大地简化任务。

说明

如果必须手动更新现有的项目设置,请参见 DLL (C++/CX)。

下载“VSIX 项目”模板。

Visual Studio 为 WRL 项目不提供一个模板。 如何下载这是创建 Windows 应用商店 应用的基本类库与 WRL的项目模板。

下载“VSIX 项目”模板。

  1. 在菜单栏上,选择“文件”,再选择“新建项目”。

  2. 在对话框的左窗格中,展开“配置属性”,然后选择“常规”,选择模版。

  3. 在 搜索联机模板 右上角框中,键入 WRL 类库。 当模板出现在搜索结果中,选择 确定 按钮。

  4. 在对话框中,下载并安装,如果您同意许可时间限制,请选择 安装 按钮。

  5. 在模板上安装后,请通过选择 文件新建项目,然后选择 WRLClassLibrary,创建项目模板。 创建DLL项目

使用项目模板示例

将使用此模板创建 Windows 运行时 组件的示例。演练:使用 WRL 创建基本 Windows 运行时组件

项目模板提供。

测试项目模板

  • 声明 MIDL 的 .idl 文件提供基本界面特性其类实现。 以下是一个示例。

    C++
    import "inspectable.idl";
    import "Windows.Foundation.idl";#define COMPONENT_VERSION 1.0namespace WRLClassLibrary
    {interface IWinRTClass;runtimeclass WinRTClass;[uuid(89656677-8679-477c-aff1-f724c64b70f3), version(COMPONENT_VERSION), exclusiveto(WinRTClass)] interface IWinRTClass : IInspectable{}[version(COMPONENT_VERSION), activatable(COMPONENT_VERSION)]runtimeclass WinRTClass{[default] interface IWinRTClass;}
    }
    

  • 定义了类实现的 .cpp 文件。 以下是一个示例。

    C++
    #include "pch.h"#include "WRLClassLibrary_h.h"
    #include <wrl.h>using namespace Microsoft::WRL;
    using namespace Windows::Foundation;namespace ABI
    {namespace WRLClassLibrary{class WinRTClass: public RuntimeClass<IWinRTClass>{InspectableClass(L"WRLClassLibrary.WinRTClass", BaseTrust)public:WinRTClass(){}};ActivatableClass(WinRTClass);}
    }
    

    RuntimeClass 基类来帮助管理所有全局对象引用模块中以及 IUnknown 声明和 IInspectable 接口的方法。InspectableClass 宏实现 IUnknown 和 IInspectable。 ActivatableClass 宏创建类实例的类工厂。

  • 文件中定义库导出了 DllMainDllCanUnloadNowDllGetActivationFactory和 DllGetClassObject的 module.cpp。

WRL 类库项目模板相关推荐

  1. iOS 静态类库项目的建立与使用

    新建 Xcode workspace 打开 Xcode , 选择 File -> New -> Workspace , 将 Workspace 命名为 Test.xcworkspace , ...

  2. SpringBoot 项目模板:摆脱步步搭建

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 本文作者 ...

  3. 后端开发实践:Spring Boot项目模板

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 作者 ...

  4. 后端开发实践:Spring Boot项目模板,拿去用吧!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:干掉 Navicat:这个 IDEA 的兄弟真香!个人原创100W+访问量博客:点击前往,查看更多 作者:无知者 ...

  5. ASP.NET 自定义项目模板

    前言 在微服务架构盛行的时代,一言不合就新建一个服务,虽然搭建服务并没什么难度,但不可避免的是每个人搭建出来的架子会存在差异,这很合理,因为每个开发者的个人风格.工作经验都不一样,难免认为自己喜欢的才 ...

  6. 从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板

    标题:从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11155 ...

  7. Java 后端开发实践 - 项目模板(16 步)

    在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...

  8. 后端开发实践——Spring Boot项目模板

    在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...

  9. 后端开发实践系列——Spring Boot项目模板

    在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...

最新文章

  1. Linux 0.00 代码解析(一)
  2. 伟大的人为什么伟大呢?
  3. python 计算小于某个数_python 列表寻找满足某个条件的开始索引和结束索引、区间范围...
  4. windows更改pip源_让你的 pip下载速度 飞起来
  5. 图形用户界面和交互输入方法---图形用户界面的设计
  6. VScode输出中文乱码的解决方法------测试过可以用
  7. ICD3 - Cannot connect to USB device. Unrecognized endpoint.
  8. 二部图 欧拉图 哈密顿图 平面图 判定条件
  9. Windows10邮件添加qq邮箱已过期问题
  10. discuz自定义模板制作
  11. scholarscope不显示影响因子_你的pubmed又不能显示影响因子了,因为 ……
  12. Package.json文件配置
  13. 厘米换算英寸英尺(PTA题解)
  14. 股票入门(一)基础知识
  15. 大气数据计算机英语,[听单词] 计算机专业英语词汇音频87,计算机英语单词MP3
  16. 现代操作系统学习笔记三、死锁
  17. 死锁(死锁的发生条件、预防死锁、避免死锁)
  18. 高并发写场景:秒杀系统库存扣减
  19. 一分钟用HCaas搭建Frp内网穿透
  20. 【实验】流量控制之分为流量抑制和风暴控制

热门文章

  1. 深圳市晶光华电子有限公司 - 晶振选型的四个重要参数是什么?
  2. 开源中国IOS客户端
  3. bugku(crypto)-聪明的小羊
  4. AngularJs ng-repeat重复项异常解决方案
  5. Java Debug Interface(JDI)介绍和使用JDI调试程序
  6. C/C++ 视频播放器开发
  7. 刘汝佳算法竞赛入门经典第三章习题
  8. 2020-02-22
  9. 金融量化分析【day112】:量化平台的使用-初始化函数
  10. 批处理文件的@echo off是什么意思?