mfc中如何创建线程

请高手指教一下,如何在新建的基于对话框的mfc中为一个按钮创建一个线程,就是最简单的那种,小弟刚刚开始学,请高手赐教,最好能把具体的函数写出来,小弟感激不尽,是在vs2008中的

//放在需要创建线程的地方,如主程序
//保存线程的ID。
DWORD dwThreadID = 0;
HANDLE hThread=CreateThread(NULL,0,DownloadThread,0,NULL,&dwThreadID);//创建下载线程

//全局函数
static DWORD WINAPI DownloadThread(void *pArg)
{
//这里写上创建线程做什么的函数

return 0;
}

////////////等待线程结束
//等待线程结束。
DWORD dRet;
MSG msg;
while (1)
{
dRet=::MsgWaitForMultipleObjects(1,&hThread,FALSE,INFINITE,QS_ALLINPUT);
if (dRet == WAIT_OBJECT_0+1)
{
while (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
{
break;
}
}

//删除的线程资源。
CloseHandle(hThread);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-02
static UINT ThreadFunc(LPVOID pParam);//线程函数声明
UINT CTestApp::ThreadFunc(LPVOID pParam)
{
//线程函数实现
}

CWinThread *m_pThread; //线程指针
m_pThread = AfxBeginThread(ThreadFunc, NULL); //启动线程

就可以了
第2个回答  2010-11-02
用CreateThread函数创建就可以了,至于其中的参数,你可以查看msdn!
希望可以帮到你