MFC 中关闭线程

chenqing1985 2008-08-25 03:09:22

我的代码
lass CMyThread:public CWinThread
{
DECLARE_DYNCREATE(CMyThread)
public:
BOOL InitInstance();
};
IMPLEMENT_DYNCREATE(CMyThread,CWinThread)
BOOL CMyThread::InitInstance()
{
g_handle=::GetCurrentThread();
VERIFY(GetExitCodeThread(g_handle, &g_dwExitCode));
MyDllDlg *pDlg = new MyDllDlg();
pDlg->Create(IDD_DIALOG1);
pDlg->ShowWindow(SW_SHOW );
g_dlg=pDlg;
g_evtLog.SetEvent();
return TRUE;
}
void CreateMyDlg(void)
{
pThread = AfxBeginThread(RUNTIME_CLASS(CMyThread));
g_evtLog.ResetEvent();
DWORD dwRet =::WaitForSingleObject(g_evtLog,20000);
::PostQuitMessage(g_dwExitCode);
}

这样是不是就结束了线程呢?

我new了一个对话框,为什么结束线程的时候对话框也关闭了?
望各位指教。谢谢了
...全文
521 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
season030441 2008-08-25
  • 打赏
  • 举报
回复
对话框对象要做成全局的才行,否则该函数结束就自动关闭了
chenqing1985 2008-08-25
  • 打赏
  • 举报
回复
那我那样结束线程对吗?主要是这个
jianmuyan 2008-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jason_wentzel 的回复:]
你的对话框MyDllDlg 是在CMyThread线程类空间创建的,当然闭关线程的时候这个对话框也关掉了
[/Quote]
孤客天涯 2008-08-25
  • 打赏
  • 举报
回复
你的对话框MyDllDlg 是在CMyThread线程类空间创建的,当然闭关线程的时候这个对话框也关掉了
chenqing1985 2008-08-25
  • 打赏
  • 举报
回复
顶一下,急啊!各位大侠帮帮小弟

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧