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. 运行,点击按钮,弹出大漠版本号,调用大漠成功。
相关推荐
于小猿Sup1 天前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
小小编程路1 天前
C++ 多线程与并发
java·jvm·c++
程序leo源1 天前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
zh_xuan1 天前
解决VS Code 控制台中文乱码
c++·vscode·乱码
郭涤生1 天前
飞凌 RK3588 开发板同显 / 异显模式切换
c++·rk3588
计算机安禾1 天前
【c++面向对象编程】第38篇:设计原则(二):里氏替换、接口隔离与依赖倒置
开发语言·c++
code_whiter1 天前
C++1进阶(继承)
开发语言·c++
智者知已应修善业1 天前
【51单片机LED闪烁10次数码管显示0-9】2023-12-14
c++·经验分享·笔记·算法·51单片机
智者知已应修善业1 天前
【51单片机2按键控制1个敞亮LED灯闪烁和熄灭】2023-11-3
c++·经验分享·笔记·算法·51单片机
咩咦1 天前
C++学习笔记20:日期类比较运算符重载
c++·学习笔记·类和对象·运算符重载·比较运算符·日期类