首页
社区
课程
招聘
[求助]关于注入DLL中的非模态对话框显示问题。
发表于: 2010-5-1 10:49 10286

[求助]关于注入DLL中的非模态对话框显示问题。

2010-5-1 10:49
10286
我通过CreateRemoteThread创建远程线程向目标进程注入一个dll,该dll是采用mfc的正规dll,
在dll的initinstance里面创建一个非模态对话框,dll已经注入,可是对话框一闪就没有了。代码如下,我做过测试,如果不用注入的方法直接用LoadLibrary(_T("DllPro.dll"))是可以成功显示对话框的。请问各位高人这个问题怎么解决!

CMainDlg pDlg;

BOOL CDllProApp::InitInstance()
{
CWinApp::InitInstance();
AFX_MANAGE_STATE(AfxGetStaticModuleState());
pDlg.Create(IDD_MAINDLG,NULL);
pDlg.ShowWindow(SW_SHOW);
return TRUE;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 246
活跃值: (86)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
在使用DX的游戏里?
2010-5-1 11:52
0
雪    币: 194
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不是。目前我的注入对像是记事本。如果用模态显示是没有问题的。但是非模态就闪一下就没了。DX中会有不同吗??还没有研究过。。
有哪位高人指点下。最好原理和代码都有。。。。
2010-5-1 12:03
0
雪    币: 997
活跃值: (987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
记事本的简单 到DX你就等着晕吧!你会发现你现在所学的真是沧海一栗啊 提示你几个字母 看你的悟性了 “CView” “return” 关键点
2010-7-10 17:18
0
雪    币: 253
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
在dll中 创建个线程来创建对话框 然后要有消息循环
        MSG msg;
        while(GetMessage(&msg, NULL, 0, 0))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }
2010-7-10 22:51
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是不是可以等待一个信号量 等窗口结束 则发信号退出
2010-7-11 10:47
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
解决没有啊,楼主,我也是这个问题!!!
2017-5-30 22:46
0
雪    币: 4441
活跃值: (805)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8

是不是和这个有关:https://support.microsoft.com/en-us/kb/142243
非模态对话框需要建立新线程,会导致dllmain()调用死锁

2017-5-31 14:18
0
雪    币: 32
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9

WS_CHILD & SetParent

2017-5-31 17:44
0
游客
登录 | 注册 方可回帖
返回
//