CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);//用于创建工作者线程
返回值: 一个指向新线程的线程对象
pfnThreadProc : 线程的入口函数,声明一定要如下: UINT MyThreadFunction( LPVOID pParam );
因为类的成员函数依赖于对象,成员函数都有个隐含的this指针,所以当做全局函数调用时会出错。
AfxBeginThread第一个参数的函数声明必须是这样的:
UINT MyControllingFunction( LPVOID pParam );
楼主好像不知道怎么填线程函数的几个参数,第一个是该线程要处理的函数,函数定义UINT MyControllingFunction( LPVOID pParam ); 第二个参数就是传递给这个函数的参数,就是上面的pParam,你可以把这个参数定义成任意结构。然后在线程里面解析出来。
学习VC仅仅看书是不够的,要在练习中从MSDN里找例子学。
AfxBeginThread(ThreadSearchPassweek,this);
static UINT ThreadSearchPassweek(LPVOID pParam);