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

MFC 如何在退出时执行某段代码,第1张

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

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

mfc退出按钮代码如下:

// 在消息处理程序中添加消息处理程序

ON_COMMAND(IDC_BUTTON1, &CExitButtonDlg::OnBnClickedButton1)

// 函数定义

void CExitButtonDlg::OnBnClickedButton1()

{

// TODO: 在此添加控件通知处理程序代码

OnCancel(); // 关闭窗口

EndDialog(IDCANCEL); // 结束对话框

}

如果添加了system("pause"); 则不会执行下面的代码。相当于程序并没有结束。

方法:

在VS中配置项目属性->链接器->系统->子系统设为:控制台(/SUBSYSTEM:CONSOLE),然后用ctrl+F5运行(不调试运行)。

需要改动一下上面的程序,在调用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);

以上就是关于MFC 如何在退出时执行某段代码全部的内容,包括:MFC 如何在退出时执行某段代码、mfc退出按钮代码、vs2017编辑mfc程序,显示“线程 0x163c 已退出,返回值为 0 (0x0)。”而且自动关闭对话框,怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10111478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存