MFC添加免费版大漠3.1233
-
先创建一个MFC工程,
-
添加dm.dll
-
方法一:通过类向导-添加类-类型库中的MFC类-文件,选择dm.dll,如果没有"添加类型库中的MFC类"选项就用方法二添加
-
方法二:添加-新建项-MFC-Active或TypeLib-实现接口位置选择文件-选择dm.dll进行添加即可。
-
然后发现自动生成了大漠头文件
-
双击Cdmsoft.h,在上面添加
#import dm.dll no_namespace
-
-
把dm.dll文件复制一份到程序同目录下面
-
-
在*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;
}
- 再按钮点击事件中添加下面代码
Idmsoft* dm = InitNewDm();
CString c = dm->Ver();
MessageBoxW(c);
- 运行,点击按钮,弹出大漠版本号,调用大漠成功。