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. 运行,点击按钮,弹出大漠版本号,调用大漠成功。
相关推荐
君义_noip3 分钟前
信息学奥赛一本通 1524:旅游航道
c++·算法·图论·信息学奥赛
学习同学27 分钟前
C++进阶知识复习 1~15
java·开发语言·c++
egoist202342 分钟前
【C++指南】一文总结C++二叉搜索树
开发语言·数据结构·c++·c++11·二叉搜索树
小王努力学编程1 小时前
动态规划学习——背包问题
开发语言·c++·学习·算法·动态规划
f狐0狸x3 小时前
【蓝桥杯每日一题】4.1
c语言·c++·算法·蓝桥杯
ん贤3 小时前
2023第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(真题&题解)(C++/Java题解)
java·c语言·数据结构·c++·算法·蓝桥杯
二进制人工智能7 小时前
【QT5 网络编程示例】TCP 通信
网络·c++·qt·tcp/ip
莫有杯子的龙潭峡谷9 小时前
3.31 代码随想录第三十一天打卡
c++·算法
AaronZZH10 小时前
【进阶】vscode 中使用 cmake 编译调试 C++ 工程
c++·ide·vscode
杨筱毅10 小时前
【性能优化点滴】odygrd/quill 中将 MacroMetadata 变量声明为 constexpr
c++·性能优化