为什么在线程中调用AfxGetMainWnd()得到NULL?
DWORD WINAPI TestTherad(LPVOID lpParam)
{
CWnd *pMainWnd = AfxGetMainWnd(); //线程方式返回NULL
return 0;
}
void CFuncInThreadView::OnLButtonDown(UINT nFlags, CPoint point)
{
// 1、线程方式
DWORD dwThreadId;
HANDLE hHandle;
hHandle = CreateThread(NULL,0,TestTherad,NULL,0,&dwThreadId);
WaitForSingleObject(hHandle,INFINITE);
CloseHandle(hHandle);
// 2、函数方式
//TestTherad(NULL);
CView::OnLButtonDown(nFlags, point);
}
用线程方式得到NULL,用函数调用方式是正常的,这是为什么啊?