首页
社区
课程
招聘
[求助]在dllmain中创建非模态对话框,为什么没有消息循环?附代码
发表于: 2008-7-9 08:28 7537

[求助]在dllmain中创建非模态对话框,为什么没有消息循环?附代码

2008-7-9 08:28
7537
代码使用VC6.0 SDK编译。
试图在dllmain 的   case DLL_PROCESS_ATTACH: 条件下建立一个非模态对话框。
当exe程序使用LoadLibrary加载该DLL时,显示非模态对话框。
但这个非模态对话框显示后,不接受任何消息。不清楚是什么原因

帮帮忙吧
我不考虑使用MFC实现

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
对话框显示出来后,就没反应了,死了一样的
2008-7-9 13:23
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
要有个消息死循环的。。
2008-7-9 13:48
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
4
因为DlgProc里的switch中漏了:
default:
return DefWindowProc(hDlg, message, wParam,lParam);

没有调用DefWindowProc的话,除了你特别处理的这几个消息之外,其他的消息根本就处理不了,当然没响应了eek:
2008-7-9 14:51
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
似乎还是不行呀
2008-7-9 16:53
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
调用部分
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
        // TODO: Place code here.
    HINSTANCE dialogdll = LoadLibrary("c:\\DIALOGDLL.dll");
        showdialog ShowDlg = (showdialog)GetProcAddress(dialogdll,"ShowDlg");
        //ShowDlg();
        //MessageBox(NULL,"ºÃ",NULL,MB_OK);
        while(1)
        {
                Sleep(1000);
        }
        return 0;
}
哪里出错了?
2008-7-9 16:54
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
   抑郁啊  抑郁啊
2008-7-10 08:47
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没人给个答案呐
2008-7-12 05:20
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
while(1)
{
    Sleep(1000);
}

while (GetMessage(&msg, NULL, 0, 0))
{
                TranslateMessage(&msg);
                DispatchMessage(&msg);
}
你没有消息循环,消息怎么找你啊
2008-7-12 12:26
0
游客
登录 | 注册 方可回帖
返回