在Dll中创建对话框并调用

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()
2.{
3.    AFX_MANAGE_STATE(AfxGetStaticModuleState());
4.    CTest test;
5.    test.DoModal ();
6.}

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

5、用VC新建一对话框工程,在一按钮点击事件中添加如下代码:

 
01.typedef void (WINAPI * TESTDLL)();
02.  
03.  
04.HINSTANCE hmod;
05.hmod = ::LoadLibrary ("mfcdll.dll");
06.if(hmod==NULL)
07.{
08.    AfxMessageBox("Fail");
09.}
10.TESTDLL lpproc;
11.lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
12.if(lpproc!=(TESTDLL)NULL)
13.    (*lpproc)();
14.FreeLibrary(hmod);

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

posted @ 2013-09-03 22:26  狂师  阅读(1692)  评论(0编辑  收藏  举报