【框架-MFC】调用dll中的对话框

方法一、

dll中代码.h

extern "C" __declspec(dllexport) int __stdcall ShowWinCX() ;

dll中代码.cpp

extern "C" __declspec(dllexport) int __stdcall ShowWinCX()
{
	HINSTANCE save_hInstance = AfxGetResourceHandle();
	//使用自身dll实例中的资源
	HINSTANCE dll_hInstance = GetModuleHandle(L"dlgcontrol.dll");
	AfxSetResourceHandle(dll_hInstance);
	CDialog dlg(IDD_SAGEDLGCONTROL); //打开ID为2000的对话框
	dlg.DoModal();
	AfxSetResourceHandle(save_hInstance);    
	return TRUE;
}

方法二、

dll中代码.h

extern "C" __declspec(dllexport) int __stdcall ShowWinCX() ;

dll中代码.cpp

extern "C" __declspec(dllexport) int __stdcall ShowWinCX()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	CDialog dlg(IDD_SAGEDLGCONTROL); 
	dlg.DoModal();  
	return TRUE;
}





你可能感兴趣的:(框架-MFC)