关于MFC中创建线程,并使其在启动时执行。

如题,请问,如何在MFC中创建一个线程,使得界面启动时这个线程也开始执行?

头文件中声明线程函数: static UINT Work( LPVOID p );

启动线程: AfxBeginThread( Work, this );

对话框模式的,就是oninitialdialog里使用
SDI,MDI的就是CMainFrame 的oncreate中启用即可。

最后在析构的时候还要停止线程。这个就有很多种方法了。
可以在线程函数里自己加一些标志可实现程序在退出的时候自动停止线程。
也可用TerminateThread强制结束线程。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-29
1 头文件中声明线程函数
static void ThreadFunc();
2 头文件添加protected型变量:
HANDLE hThread;
DWORD ThreadID;
分别代表线程的句柄和ID。
3 编写线程函数
void CMultiThread1Dlg::ThreadFunc()
{

}
4 创建线程
界面启动时这个线程
对话框模式的,就是oninitialdialog里
hThread=CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)ThreadFunc,
NULL,
0,
&ThreadID);本回答被提问者和网友采纳
第2个回答  2010-08-27
http://baike.baidu.com/view/1191444.htm

createthread用于创建线程

把createthread放在OnInitialDialog里 就会在创建并初始化窗口时运行