Dll에서 대화상자 생성 및 호출
1144 단어 dll
프로젝트에 대화상자 자원을 추가하고 메뉴에서 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LoadLibrary에서 126 오류가 발생하면 원인이되는 파일 이름을 찾는 방법Loadlibrary에서 DLL을 동적으로 로드할 때 로드 실패입니다. 실패한 파일 이름은 알려주지 않습니다. 로드하고자 하는 DLL 자체를 로드할 수 없다면 이야기는 간단하지만, 대상 DLL이 다른 DLL을 로드하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.