您的位置:首页 > 其它

MFC类内创建线程,使用内部变量方法

2014-07-26 09:09 363 查看
问题:MFC中创建一个新的线程,由于创建的线程需要说明成static,而static类型是不能直接使用类的内部变量的,解决办法是把this指针做为参数传递给线程,最好在线程内直接调用一个类内函数,然后在这个函数内就可以自由的使用所有变量,省掉所有的this->

一、创建线程:传递this指针

HANDLE hThead=CreateThread(NULL,0,ThreadProcAccept,(LPVOID)this,0,NULL);

CloseHandle(hThead);

二、线程中使用this调用一个类内函数

DWORD WINAPI CViewerDlg::ThreadProcAccept(LPVOID lpParameter)

{

CViewerDlg * pTaskMain = (CViewerDlg *) lpParameter; //把this指针传进来

pTaskMain->my_accept();

return 0;

}

三、在函数内自由使用变量

void CViewerDlg::my_accept(void)

{

//接收数据

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: