您的位置:首页 > 其它

mfc下AfxBeginThread创建线程

2017-05-10 09:33 579 查看
1. .h文件下声明

static UINT WINAPI MyInsertList(LPVOID lpParameter);//必须为此格式

2.创建线程函数m_param为结构体,如果需要传入多个参数需要定义结构体

BOOL CreateInsetListThread(const CString& FilePath ,const CString & DiskPath)
{

m_param.hWnd = this->m_hWnd;
m_param.FilePath = FilePath;
m_param.DiskPath = DiskPath;

m_pThread = AfxBeginThread(( AFX_THREADPROC )MyInsertList,&m_param,THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);//创建线程
if(!m_pThread)//如果创建失败则返回
return FALSE;
m_pThread->m_bAutoDelete = FALSE;
m_pThread->ResumeThread();

}

3.线程函数的实现
UINT WINAPI MyInsertList(LPVOID lpParameter)

UINT WINAPI MyInsertList(LPVOID lpParameter)
{

DiskThreadData * param = reinterpret_cast<DiskThreadData *>(lpParameter);//将lpParameter转换成结构体形式
HWND hDesWnd = param->hWnd;//获取句柄
//实现方式
}4.补充WaitForSingleObject(hThread,INFINITE);//等待指定线程关闭,INFINITE为一直等待
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  线程