我在一个函数里,创建了一个线程(线程的作用的仅是创建一个窗口), 在该函数里我又马上PostMessage给这个窗口。想请教一下,关于这个线程创建的窗口是否能够及时收到函数所发的消息。若不行,用什么方法可以更好地解决这种问题。线程InitInstance如下:(创建一对话框)
m_pPersonInfoDlg=new CPersonInfoDlg;
m_pPersonInfoDlg->Create(IDD_DIALOG_PERSON_INFO, CWnd::GetDesktopWindow());
m_pPersonInfoDlg->ShowWindow(SW_SHOW);
m_pMainWnd=m_pPersonInfoDlg; 函数如下
{
CWinThread *pWinThread = AfxBeginThread(RUNTIME_CLASS(CUserThread));
::PostMessage(pWinThread->m_pMainWnd->m_hWnd, WM_PERINFO,(WPARAM)&m_PerInfo, 0);
}
m_pPersonInfoDlg=new CPersonInfoDlg;
m_pPersonInfoDlg->Create(IDD_DIALOG_PERSON_INFO, CWnd::GetDesktopWindow());
m_pPersonInfoDlg->ShowWindow(SW_SHOW);
m_pMainWnd=m_pPersonInfoDlg; 函数如下
{
CWinThread *pWinThread = AfxBeginThread(RUNTIME_CLASS(CUserThread));
::PostMessage(pWinThread->m_pMainWnd->m_hWnd, WM_PERINFO,(WPARAM)&m_PerInfo, 0);
}
如果想要同步就用SendMessage发送消息