gpt4 book ai didi

c++ - 显示来自 MFC DLL 的对话框

转载 作者:行者123 更新时间:2023-11-28 03:48:47 25 4
gpt4 key购买 nike

我加载了表单,但只有没有功能的按钮

HMODULE hModule = LoadLibrary(L"Tools.dll");

if (hModule != NULL)
{
AfxSetResourceHandle(hModule);
CDialog dgl(MAKEINTRESOURCE(199), NULL);
dgl.DoModal();
}

那么我如何加载表单的完整功能而且我没有DLL源代码

最佳答案

要从 MFC dll 显示对话框,如场景 - 您已在 DLL 中导出函数,并从该函数调用 DoModel()。该模板实际上存储在 DLL 中module.You need to switch module state for current handle to be used.You can do this by using:

AFX_MANAGE_STATE(AfxGetStaticModuleState());

AFX_MODULE_STATE AfxGetStaticModuleState()

->AFX_MODULE_STATE 结构包含模块的全局数据,即推送或弹出的模块状态部分。

IN DLL 代码将是这样的:

AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDlg objMyDlg;
iRet = objMyDlg.DoModal();

关于c++ - 显示来自 MFC DLL 的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6351339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com