关于MFC中创建线程,并使其在启动时执行。
3个回答
展开全部
头文件中声明线程函数: static UINT Work( LPVOID p );
启动线程: AfxBeginThread( Work, this );
对话框模式的,就是oninitialdialog里使用
SDI,MDI的就是CMainFrame 的oncreate中启用即可。
最后在析构的时候还要停止线程。这个就有很多种方法了。
可以在线程函数里自己加一些标志可实现程序在退出的时候自动停止线程。
也可用TerminateThread强制结束线程。
启动线程: AfxBeginThread( Work, this );
对话框模式的,就是oninitialdialog里使用
SDI,MDI的就是CMainFrame 的oncreate中启用即可。
最后在析构的时候还要停止线程。这个就有很多种方法了。
可以在线程函数里自己加一些标志可实现程序在退出的时候自动停止线程。
也可用TerminateThread强制结束线程。
展开全部
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);
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);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://baike.baidu.com/view/1191444.htm
createthread用于创建线程
把createthread放在OnInitialDialog里 就会在创建并初始化窗口时运行
createthread用于创建线程
把createthread放在OnInitialDialog里 就会在创建并初始化窗口时运行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询