PostThreadMessage失败

时间:2009-11-25 09:19:12

标签: winapi visual-c++ postmessage

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

我正在使用PostThreadMessage API将消息发布到用户线程。我的问题是它没有写出我发布的所有数据。对于Instance,如果我发布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的返回值是成功的。

1 个答案:

答案 0 :(得分:0)

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