MFC中如何通过点击主程序的stop按钮来终止子线程?

线程函数是:UINTThreadRun(LPVOIDpParam){………………………………while(1){………………………………}return0;}然后Run按钮运... 线程函数是:
UINT ThreadRun(LPVOID pParam)
{
………………………………
while(1)
{
………………………………
}
return 0;
}
然后Run按钮运行线程:
void CGetNetDlg::OnButtonRun()
{
………………………………
AfxBeginThread(ThreadRun,this);
………………………………
}

我想在按下stop后终止线程……Stop按钮的代码如何编写?
void CMyDlg::OnButtonStop()
{
// TODO: Add your control notification handler code here
}
展开
 我来答
poseidon_k
推荐于2016-03-18 · TA获得超过2580个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:313万
展开全部
需要改动一下上面的程序,在调用AfxBeginThread时把此函数返回的CWinThread*变量保存起来,比如定义一个类成员变量CWinThread* m_pThread,调用AfxBeginThread的代码改成m_pThread= AfxBeginThread(ThreadRun,this);。而Stop里的代码可以写成:
DWORD dwCode;
GetExitCodeThread(m_pThread->m_hThread, &dwCode);
TerminateThread(m_pThread->m_hThread, dwCode);
CloseHandle(m_pThread->m_hThread);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式