当前位置: 首页 > article >正文

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. 在这里插入图片描述

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

  9. 在这里插入图片描述

  10. 在*dlg.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. 再按钮点击事件中添加下面代码
	Idmsoft* dm = InitNewDm();
	CString c = dm->Ver();
	MessageBoxW(c);
  1. 运行,点击按钮,弹出大漠版本号,调用大漠成功。

在这里插入图片描述


http://www.kler.cn/a/612545.html

相关文章:

  • selenium实现自动登录项目(5)
  • UDP视频传输中的丢包和播放花屏处理方法
  • 分布式系统面试总结:3、分布式锁(和本地锁的区别、特点、常见实现方案)
  • MacOS 安装open webui
  • Pinecone数据库介绍、Milvus数据库介绍
  • OGG故障指南:OGG-00446 Checkpoint table does not exist
  • Redisson - 分布式锁和同步器
  • stm32-IIC
  • 数据驱动的教育革命:让学习更智能、更个性化
  • React Native集成到原生iOS应用中
  • 蓝桥杯经典题解:班级活动分组问题的深度解析与优化实现
  • Nodemation(n8n)+MCP系列:1、什么是n8n以及Windows系统下的安装指南
  • Qt开发:QVariant的使用
  • 机器学习——神经网络、感知机
  • 修改 docker0 网卡配置的详细步骤
  • Java全栈面试宝典:JVM与Spring核心模块深度解析
  • RISC-V AIA学习3---APLIC第三部分
  • 手机销售终端MPR+LTC项目项目总体方案P183(183页PPT)(文末有下载方式)
  • 自由学习记录(48)
  • 【设计模式】工厂模式详解-----简单工厂模式、工厂方法模式、抽象工厂模式