为什么主窗口不响应子线程发出的消息

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:49:24
我在子线程里这样发了一个消息给主窗口,结果没有响应。
pThis是主程序(CApp)的指针,pThis->m_hMainWin是调用子线程前事先取好的主窗口句柄。
哪位知道为什么啊

if(pThis->m_hMainWin){
pWnd->SendMessage(WM_XXXX, 0, 0);
}

估计是死锁了,因为SendMessage要等消息被处理了之后才返回的,而你创建线程之后主程序可能困在一个其他循环中,而这个循环极有可能是需要其他的条件来打断。

建议你用PostMessage来发送消息,它不等消息被处理就立即返回。