• 在tlb文件编译好了之后,我们与加入了与之相应的头文件,那么现在程序就是完全能够理解CDR里面的类和变量的了,所以接下来我们就写一段最简单的导出函数吧
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include "d:\VS2019\Cine\VGCoreAuto.tlh"BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break; }return TRUE;
}extern "C" _declspec(dllexport) int WoDeDll(VGCore::IVGApplication* corelApp, HWND hAppWnd) {MessageBox(hAppWnd, _bstr_t("我们成功了"), _bstr_t("提示"), MB_OK);return 0;
}
  • 写好后直接再点击生成解决方案即可,我们再看到文件夹里多了一个debug文件夹里面多了一个后缀为dll的文件,这就是我们刚刚生成的动态链接库文件,为何叫动态链接库,是因为它于之相对应的是叫静态链接,也就是一般的lib文件库,这种文件是就是在写程序的时候直接#include进去的,这个时候程序还处于代码状态并未生成exe可执行文件,而动态链接就是exe程序在运行启动了之后还可以进行链接操作的文件.这样就非常的方便了,所很节省内存空间,因为有的程序非常庞大,要是必须全部加载完成才能运行的话会给内存造成大的负荷.
  • 好的DLL已经生成,我们记一下他的路径和全名下一节调用的时候要用.

CorelDRAWX4的VBA插件开发(二十九)使用C++制作动态连接库DLL辅助VBA构键强大功能-(3)制作最简单的可供调用的DLL相关推荐

  1. CorelDRAWX4的VBA插件开发(三十一)使用C++制作动态连接库DLL辅助VBA构键强大功能-(5)在VBA中动态调用DLL文件

    我们先来看一下动态调用的截图 先上代码 '静态调用 Public Declare Function wodedll Lib "E:\VS-DLL\conglingkaishi\Debug\C ...

  2. CorelDRAWX4的VBA插件开发(二十七)使用C++制作动态连接库DLL辅助VBA构键强大功能-(1)前言和准备工作

    我们在使用VBA的时候会很多的局限性,包括调用库和递归函数,对指针结构体和类都不友好,对时间复杂度和空间复杂度都优化得不够,换言之VB就不是从性能出发的语言,所以难免力不从心 所以这里用C++为VBA ...

  3. CorelDRAWX4的VBA插件开发(二十四)复合选框组件与联合命名面板

    我们在处理文档的时候碰上的最多的问题就是与字符串相当的问题,这里再拿出来单把各种使用命名的小组件讲一下,我们先上效果图: 我们可以在上图看到最终结果,可以让一行文件名跟随各种组件进行更改,下下面我们先 ...

  4. CorelDRAWX4的VBA插件开发(二十五)多类目选择实现复合框内容置换

    有时候我们的复合框内的内容是有更多的需求,但是我们又不想另开一个窗口,怎么办呢,我们直接使用复合框内容替换就行啦 先上效果图: 先在面第板上拉出一个框架, 再在里面添加上三个选项按钮, 添加好之后这三 ...

  5. CorelDRAWX4的C++插件开发(三十九)纯C++插件开发(3)声明变量并暴露导出函数

    接上一节我们接下来声明一些需要用到的变量 // 声明CorelDRAW变量=VBA::Application类 VGCore::IVGApplication* corelApp = NULL; //声 ...

  6. 2021年大数据Hadoop(二十九):​​​​​​​关于YARN常用参数设置

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...

  7. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块

    实验二十九:LCD模块 据说Alinx 301支持 7"TFT,好奇的朋友一定疑惑道,它们3.2"TFT以及7"TFT等两者之间究竟有何区别呢?答案很简单,前者自带控制器 ...

  8. Bootstrap入门(二十九)JS插件6:弹出框

    Bootstrap入门(二十九)JS插件6:弹出框 加入小覆盖的内容,像在iPad上,用于存放非主要信息 弹出框是依赖于工具提示插件的,那它也和工具提示是一样的,是需要初始化才能够使用的 首先我们引入 ...

  9. SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  10. FreeSql (二十九)Lambda 表达式

    FreeSql 支持功能丰富的表达式函数解析,方便程序员在不了解数据库函数的情况下编写代码.这是 FreeSql 非常特色的功能之一,深入细化函数解析尽量做到满意,所支持的类型基本都可以使用对应的表达 ...

最新文章

  1. 怎么连接屏幕_手机屏幕坏了也可以操作?这办法学会了再不怕碎屏
  2. Java基础第十三天总结
  3. python 装饰器 参数-python函数装饰器之带参数的函数和带参数的装饰器用法示例...
  4. python开发好学吗-Python人工智能开发难学吗
  5. 随着firefox的迭代更新:FireBug不能用了?使用火狐Try Xpath插件替代Firebug和Firepath...
  6. always on sql 收缩日志_使用alwayson后如何收缩数据库日志的方法详解
  7. Windows平台下动态链接库的总结
  8. Microsoft SharePoint Server 2010 的新增功能
  9. leetcode114. 二叉树展开为链表
  10. 给力!使用MacPilot解锁macOS 1200多个隐藏功能!(支持M1处理器mac)
  11. Ranger开源流水线docker化实践案例
  12. 服务器拒绝访问位置不可用,Win7打开Local Settings文件夹提示“位置不可用,拒绝访问如何解决...
  13. cent os7 安装nginx1.16.1
  14. c#项目遇到的问题及解决(1)
  15. 线性方程组迭代解法——雅可比(Jacobi)迭代法,Gauss-Seidel迭代法和超松弛(SOR)迭代法
  16. 揭秘有状态服务上 Kubernetes 的核心技术
  17. android 六边形简书,六边形RecyclerView
  18. linux 空白进程,Linux空白行:行号显示、空白行数统计、删除空白行
  19. 全链路前端性能优化方案
  20. CSMACA 与 CSMA/CD 区别

热门文章

  1. 林锐——我的大学十年
  2. 手动升级麦咖啡(McAfee)病毒库的步骤
  3. 教你用好手中的McAfee 杀毒软件和McAfee 企业集中管理工具EPO
  4. 私藏的18个黑科技网站
  5. 《数据挖掘——概念与技术》笔记
  6. 计算机感染冲击波,CIH、爱虫、冲击波、熊猫烧香,对这4种网络病毒你了解多少?...
  7. pp助手苹果版_苹果一键刷机助手app免费版下载-一键刷机精灵下载手机版
  8. bulk insert java_从JAVA插入SQL Server时,我可以获得“BULK INSERT”般的速度吗?
  9. 22年PMP考试【全真敏捷试题】
  10. 防治计算机病毒教案,小学信息技术教案:《防治计算机病毒-计算机病毒》