1、第一步創建一“MFC AppWizard (dll)”工程,接下來選擇“Regular Dll using shared MFC DLL”,點擊“Finish”。
2、添加一對話框資源到工程中,從菜單中選擇Insert->Resource,添加一“Dialog”
選擇“New”,至此對話框已添加到DLL工程中。
3、為對話框添加一新類,如:CTest,基類為CDialog。
4、在MFCDLL.cpp中(因創建的工程為MFCDLL)添加接口函數:
extern "C" __declspec(dllexport) void Show()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CTest test;
test.DoModal ();
}
別忘了在文件中添加: #include "Test.h":),大功告成,編譯吧!
5、用VC新建一對話框工程,在一按鈕點擊事件中添加如下代碼:
typedef void (WINAPI * TESTDLL)();
HINSTANCE hmod;
hmod = ::LoadLibrary ("mfcdll.dll");
if(hmod==NULL)
{
AfxMessageBox("Fail");
}
TESTDLL lpproc;
lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
if(lpproc!=(TESTDLL)NULL)
(*lpproc)();
FreeLibrary(hmod);
6、試試看,是不是DLL中對話框顯示出來了:)
測試環境:VC6.0+Win2000
本文配套源碼