Dll에서 대화상자 생성 및 호출

1144 단어 dll
첫 번째 단계에서는 "MFC AppWizard(dll)"프로젝트를 만들고 다음에는 "Regular Dll using shared MFC DLL"을 선택하고 "Finish"를 클릭합니다.
프로젝트에 대화상자 자원을 추가하고 메뉴에서 Insert->Resource를 선택하며 Dialog를 추가하고 DLL 프로젝트에 대화상자를 추가하려면 New를 선택하십시오.
대화 상자에 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

좋은 웹페이지 즐겨찾기