Winapi PostThreadMessage失败

Winapi PostThreadMessage失败,winapi,visual-c++,postmessage,Winapi,Visual C++,Postmessage,我已经创建了一个UI线程。我将消息发布到UI线程,该线程将数据写入文件 我正在使用PostThreadMessageAPI将消息发布到用户线程。我的问题是它没有写下我发布的所有数据。例如,如果我发布100个数据,它会随机写入3个或98个数据,每次执行都会有所不同。并非每个消息都会调用Postdata的处理程序 CWriteToFile *m_pThread = (CWriteToFile *)AfxBeginThread(RUNTIME_CLASS (CWriteToFile)); PostT

我已经创建了一个UI线程。我将消息发布到UI线程,该线程将数据写入文件

我正在使用
PostThreadMessage
API将消息发布到用户线程。我的问题是它没有写下我发布的所有数据。例如,如果我发布100个数据,它会随机写入3个或98个数据,每次执行都会有所不同。并非每个消息都会调用Postdata的处理程序

CWriteToFile *m_pThread = (CWriteToFile *)AfxBeginThread(RUNTIME_CLASS (CWriteToFile));

PostThreadMessage(m_pThread->m_nThreadID , WM_WRITE_TO_FILE, (WPARAM)pData,NULL);

WaitForSingleObject(m_pThread, INFINITE);   

PostThreadMessage
的返回值为成功。

如果消息队列已满,PostMessage系列函数可能会失败。您应该检查函数调用是否成功。

谢谢您的回复。。Post的返回值是所有Post的success。但是,只为少数消息调用处理程序。