MFC 如何在退出时执行某段代码

我在mfc程序中,在oninitdialog里面创建了一个工作线程,这个工作线程是一直不断运行的,我想在退出时终止这个线程,应该把代码写到哪个函数里啊?... 我在mfc程序中,在oninitdialog里面创建了一个工作线程,这个工作线程是一直不断运行的,我想在退出时终止这个线程,应该把代码写到哪个函数里啊? 展开
 我来答
pengguismile
2013-11-29 · TA获得超过687个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:122万
展开全部

右键点建立类向导,弹出如图对话框:

选WM_CLOSE或DestroyWindow(二者区别请上网搜索),点AddFunction,类向导会自动给你添加成员函数,在Member functions里选择刚才的成员函数,进入代码编辑,加入你杀死线程的代码。

paradise300
2013-11-29 · TA获得超过3560个赞
知道大有可为答主
回答量:2589
采纳率:84%
帮助的人:496万
展开全部
在主线程的OnClose消息内处理你要处理的事情。通常是这样做的,在线程中用一个bool开题变量来判断是否退出线程,再在OnClose里把窗口隐藏(后台处理),然后判断线程句柄是否有效,如果有效,把那个bool型变量值改一下使线程退出,然后通过变量WaitForSingalObject来等待线程退出,最后销毁线程句柄即可,若是UI线程,可以通过线程消息来使线程退出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lif12347
2013-11-28 · TA获得超过305个赞
知道小有建树答主
回答量:768
采纳率:50%
帮助的人:217万
展开全部
OnDestroy 中终止线程,先发消息通知线程结束,消息不灵可TerminateThread
追问
OnDestroy 是不是要在对话框类重写啊?我不会重写,能不能简单地给几行代码。。。
追答
它是虚函数,直接声明和原型一样的即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式