在Dll中创建对话框并调用

第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。

添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”,选择“New”,至此对话框已添加到DLL工程中。

为对话框添加一新类,如:CTest,基类为CDialog。在MFCDLL.cpp中(因创建的工程为MFCDLL)添加接口函数:

 
   
extern "C" __declspec(dllexport) void Show()

{

	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	CTest test;

	test.DoModal ();

}

别忘了在文件中添加: #include "Test.h":),大功告成,编译吧!

用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);

试试看,是不是DLL中对话框显示出来了:)

测试环境:VC6.0+Win2000

你可能感兴趣的:(dll)