mfc下AfxBeginThread创建线程

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(lpParameter);//将lpParameter转换成结构体形式
	HWND hDesWnd = param->hWnd;//获取句柄
	//实现方式
}
4.补充WaitForSingleObject(hThread,INFINITE);//等待指定线程关闭,INFINITE为一直等待

你可能感兴趣的:(C++,mfc,线程)