MyException - 我的异常网
当前位置:我的异常网» VC/MFC » MFC怎么按下button后让线程循环(贴码)

MFC怎么按下button后让线程循环(贴码)

www.myexceptions.net  网友分享于:2013-04-10  浏览:5次
MFC如何按下button后让线程循环(贴码)
本帖最后由 shiyanzi 于 2013-04-02 17:17:58 编辑
DWORD WINAPI ThreadTEST1(LPVOID lpRaram)
{
CFishComlogDlg*pthis = (CFishComlogDlg*)lpRaram;
pthis->OnBnClickedBtnCallT();
return 0;
}

void CFishComlogDlg::OnClickedMainFuction()
{
// TODO: Add your control notification handler code here
HANDLE thread1;//
thread1=CreateThread(NULL,0,ThreadTES1,this,0,NULL);
if (thread1)
{

}
CloseHandle(thread1);
events = CreateEvent(NULL,FALSE,FALSE,NULL);
SetEvent(events);
Sleep(4000);
CloseHandle(events);
}


如代码所示,我想button按下后,线程一直循环运行。
mfc thread

------解决方案--------------------
DWORD WINAPI ThreadSBWD1(LPVOID lpRaram)
{
  while(1)
}
------解决方案--------------------
应该在线程函数中加一个while循环吧。

先设置一个全局变量 bool closedown=false;作为线程开关
在线程函数中
while(!closedown)
{
//do something
}
如果想结束线程函数,就把closedown=true。

另外,在MFC中最好用AfxBeginThread创建线程吧。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有