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创建线程吧。