设为首页 加入收藏

TOP

MFC下结束AfxBeginThread开启的线程
2014-11-05 11:45:07 】 浏览:371
Tags:MFC 结束 AfxBeginThread 开启 线程

  最近,由于论文的需求,要用到Windows下的多线程。考虑到界面用MFC写了,于是上网搜了下MFC下的多线程怎样搞,都说用AfxBeginThread来日比较好。哥向来比较浮躁,先搜搜有没相关代码,找到几个可用的,然后各种摘抄,于是乎将哥的播放器的几个线程搞成下面这段代码(摘要):


  UINT playThread(LPVOID pParam){ //播放线程,固定格式


  //......做变量声明,赋值等前期工作


  while(SomeCondition){ //播放线程的循环


  //......播放音乐,不解析


  }


  return 0;


  }


  void CPlayerDlg::OnBnClickedPlay(){ //播放按钮响应函数


  if(isThreadPause){ //判断是否暂停中


  isThreadPause=false;


  pPlayerThread->ResumeThread();//继续播放


  }


  else{


  OnBnClickedStop();


  pPlayerThread=AfxBeginThread(playWaveThread,NULL); //开启播放线程


  }


  }


  void CPlayerDlg::OnBnClickedPause(){ //暂停响应函数


  if(!isThreadPause){


  PlayerThread->SuspendThread(); //挂起进程,相当于暂停播放


  isThreadPause=true;


  }


  }


  void CPlayerDlg::OnBnClickedStop(){ //终止响应函数


  if(pPlayThread){


  isThreadPause=false;


  TerminateThread(pPlayerThread->m_hThread,0);//强行终止线程,这里有问题,后面说


  }


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在MFC程序中启用XP新控件外观 下一篇全国计算机等级考试二级C++语言程..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目