-
先创建一个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;}elsem_bInit = false;return m_dm;
}
- 再按钮点击事件中添加下面代码
Idmsoft* dm = InitNewDm();CString c = dm->Ver();MessageBoxW(c);
- 运行,点击按钮,弹出大漠版本号,调用大漠成功。