【发布时间】:2011-09-26 08:15:39
【问题描述】:
我试图在一个名为 ClientManager 的类中创建一个工作线程,但我无法从新的 CWinThread 访问 AfxGetMainWnd(),即:
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");
}
}
输出:空
AfxGetMainWnd()->GetSafeHwnd() 在主线程中工作。
谢谢!
【问题讨论】:
标签: c++ visual-studio-2010 mfc