1.最近遇到一个问题,点击一个按钮,循环执行一个函数,但发现不再响应其他按钮操作,后来使用了双线程的方法。
在dlg头文件里定义CWinThread* pThread;
pThread=AfxBeginThread(
handfuc,
THREAD_PRIORITY_NORMAL,
0,
NULL,
NULL);
UINT handfuc(LPVOID lpParam);
推荐通过修改全局变量使进程退出。
2.在程序退出时,如果按照原来的方法,修改全局变量让handfuc退出会出错,需要调用退出函数之前结束进程,所以需要在退出函数里添加一个等待函数
HANDLE handle0=pThread->m_hThread;
WaitForSingleObject(handle0,INFINITE);
。。。
CDialogEx::OnCancel();