Я пытаюсь создать рабочий поток в классе с именем ClientManager, но не могу получить доступ к AfxGetMainWnd () из нового CWinThread, т.е.:
UINT ClientManager::WorkerThreadProc( LPVOID param ){
ClientManager *pThis = reinterpret_cast<ClientManager*>(param);
return pThis -> DoThreadJob();
}
UINT ClientManager::DoThreadJob(){
createClientSession("1");
return 0;
}
void ClientManager::createThread(){
m_clientManagerThread = AfxBeginThread(WorkerThreadProc,this,0,0,0,NULL);
}
void ClientManager::createClientSession(CString clientID){
if (AfxGetMainWnd()->GetSafeHwnd()== NULL){
_cprintf("NULL");
}
}
Выход: NULL
AfxGetMainWnd () -> GetSafeHwnd () работает в основном потоке.
Спасибо!