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. 运行,点击按钮,弹出大漠版本号,调用大漠成功。
相关推荐
程序员老舅1 小时前
C++音视频开发:基础面试题
c++·ffmpeg·音视频·视频编码·h264·音视频编解码·视频解码
lifallen4 小时前
深入解析RocksDB的MVCC和LSM Tree level
大数据·数据结构·数据库·c++·lsm-tree·lsm tree
君鼎5 小时前
Effective C++ 条款18:让接口容易被正确使用,不易被误用
c++
whxnchy5 小时前
C++刷题 - 7.27
开发语言·c++
白日梦想家-K5 小时前
题单【模拟与高精度】
开发语言·c++·算法
岁忧6 小时前
(LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
java·c++·leetcode·链表·面试·go
君鼎6 小时前
Effective C++ 条款17:以独立语句将newed对象置入智能指针
c++
极客BIM工作室6 小时前
深入理解C++中的Lazy Evaluation:延迟计算的艺术
开发语言·c++
小指纹8 小时前
图论-最短路Dijkstra算法
数据结构·c++·算法·深度优先·图论
王德博客9 小时前
【从基础到实战】STL string 学习笔记(上)
c++·笔记·学习