MFC添加免费版大漠3.1233

  1. 先创建一个MFC工程,

  2. 添加dm.dll

  3. 方法一:通过类向导 -添加类 -类型库中的MFC类 -文件 ,选择dm.dll,如果没有"添加类型库中的MFC类"选项就用方法二添加

  4. 方法二:添加 -新建项 -MFC -Active或TypeLib -实现接口位置选择文件-选择dm.dll进行添加即可。

  5. 然后发现自动生成了大漠头文件

  6. 双击Cdmsoft.h,在上面添加#import dm.dll no_namespace

  7. 把dm.dll文件复制一份到程序同目录下面

  8. 在*dlg.cpp文件中添加如下代码

cpp 复制代码
#include "Cdmsoft.h"
Idmsoft* InitNewDm()
{
   Idmsoft* m_dm = NULL;
   //COleVariant temp1,temp2;
   bool m_bInit = false;

   //下面直接加载dll创建对象,避免进行注册文件
   typedef HRESULT(__stdcall* pfnGCO) (REFCLSID, REFIID, void**);
   pfnGCO fnGCO = NULL;
   HINSTANCE hdllInst = LoadLibrary(L"dm.dll");
   fnGCO = (pfnGCO)GetProcAddress(hdllInst, "DllGetClassObject");
   if (fnGCO != 0)
   {
   	IClassFactory* pcf = NULL;
   	HRESULT hr = (fnGCO)(__uuidof(dmsoft), IID_IClassFactory, (void**)&pcf);
   	if (SUCCEEDED(hr) && (pcf != NULL))
   	{
   		hr = pcf->CreateInstance(NULL, __uuidof(Idmsoft), (void**)&m_dm);
   		if ((SUCCEEDED(hr) && (m_dm != NULL)) == FALSE)
   			return false;
   	}
   	pcf->Release();
   	m_bInit = true;
   }
   else
   	m_bInit = false;


   return m_dm;
}
  1. 再按钮点击事件中添加下面代码
cpp 复制代码
	Idmsoft* dm = InitNewDm();
	CString c = dm->Ver();
	MessageBoxW(c);
  1. 运行,点击按钮,弹出大漠版本号,调用大漠成功。
相关推荐
汉克老师3 小时前
GESP2026年9月认证C++七级( 第三部分编程题(2、括号序列))精讲
c++·gesp·小学生·学c++编程
jimy15 小时前
虚函数vtable,链接时看到构造函数,linker把符号地址写入vtable(三)
开发语言·c++
潼心1412o6 小时前
C++初阶(长期更新)第9讲:string(上)
开发语言·c++
朝朝辞暮i6 小时前
C++ 第 39 章: 阶段性总复习——类、对象、构造、继承、this、指针与智能指针
开发语言·c++·算法·ros2
wuminyu7 小时前
Virtual Thread重投递至ForkJoinPool任务队列过程解析
java·linux·c语言·jvm·c++
All for pursuit.7 小时前
【回溯-6】79.单词搜索
数据结构·c++·算法·leetcode
Benny_Tang8 小时前
AT_arc180_d [ARC180D] Division into 3 题解
数据结构·c++·算法
殷色玫瑰8 小时前
C++ STL:stack、queue、priority_queue 与容器适配器详解
java·开发语言·数据结构·c++·算法·visualstudio
努力努力再努力wz8 小时前
【CUDA入门系列】CUDA编程实战:设备选择、显存管理、Kernel、Stream 与 Event 全流程梳理
开发语言·c++
沫璃染墨9 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构