MFC dll注入后如何显示非模态对话框?
创建MFC dll后xxxApp的类就是入口类了,我的非模态框类是成员变量
BOOL CMFCLibrary7App::InitInstance()函数是xxxApp类的初始化函数,我在这函数里面
mdlg->Create(IDD_DIALOG1);
mdlg->ShowWindow(SW_SHOWNORMAL);
显示我的非模态框。
当我将完成的dll注入到进程后,非模态框只是一闪而过,请问这是怎么回事?
我使用AfxBeginThread()函数新建线程来调用
mdlg->Create(IDD_DIALOG1);
mdlg->ShowWindow(SW_SHOWNORMAL);
会导致被注入进程卡死。 本帖最后由 cdj68765 于 2020-2-4 19:47 编辑
如果我的经验没错的话,一闪而过是因为线程运行到了return所以退出了,你需要用一个死循环不让线程退出。当然错了的话当我没说 本帖最后由 xiaoheilian 于 2020-2-4 20:04 编辑
cdj68765 发表于 2020-2-4 19:44
如果我的经验没错的话,一闪而过是因为线程运行到了return所以退出了,你需要用一个死循环不让线程退出。当 ...
我在mdlg->ShowWindow(SW_SHOWNORMAL);
后面加入了死循环
while(true){
}
但是弹出来的非模态框会卡死
之前我已经试过在
InitInstance()函数里面加入
while(true){
mdlg->Create(IDD_DIALOG1);
mdlg->ShowWindow(SW_SHOWNORMAL);
}
都会造成非模态框卡死 被释放了? 大看雪专家人士多。 nstar1221 发表于 2020-2-4 20:24
被释放了?
我觉得应该是被释放了,可是刚写mfc dll,不太明白如何维持 xiaoheilian 发表于 2020-2-4 23:52
我觉得应该是被释放了,可是刚写mfc dll,不太明白如何维持
在框架对象中创建一个成员变量试试 nstar1221 发表于 2020-2-5 05:59
在框架对象中创建一个成员变量试试
我的非模块框类是框架对象的成员变量
页:
[1]