是否可以将MFC GUI EXE项目编译为DLL,然后从另一个应用程序执行此DLL应用程序?
到目前为止我的进展是:
我添加了一个导出函数,使用以下代码创建并运行应用程序:
theApp.m_hInstance = pModuleState->m_hCurrentInstanceHandle;
theApp.InitInstance();
theApp.Run();
我在DLLMain中添加了代码来初始化模块状态:
if (dwReason == DLL_PROCESS_ATTACH)
{
AFX_MODULE_STATE* pModuleState = AfxGetModuleState();
pModuleState->m_hCurrentInstanceHandle = hInstance;
pModuleState->m_hCurrentResourceHandle = hInstance;
我创建了一个控制台应用程序,它加载DLL并调用创建和运行DLL应用程序的函数。
然而,我仍然得到各种调试断言,例如,AfxGetThread返回NULL等等。并且应用程序无法运行。
有人能告诉我,我从EXE制作DLL的想法是否切合实际?
提前致谢。