-
先創建一個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);
- 運行,點擊按鈕,彈出大漠版本號,調用大漠成功。