BCB中在使用CreateThread()创建的线程中的问题

wfe100 2003-11-05 09:18:03
在CreateThread()创建的2个线程间用PostThreadMessage()进行传递消息,发现第一次传的消息总丢,后来说是要创建一下线程的消息队列。但:
if(PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE))
处理中不是自己需要的消息是否还要做 TranslateMessage(&Msg); DispatchMessage(&Msg);处理?


...全文
188 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangchun_xn 2003-11-13
  • 打赏
  • 举报
回复
GetMessage看看,不过要等待。
Thor_Cascades 2003-11-13
  • 打赏
  • 举报
回复
加个WaitForSingleObject试试看
南郁 2003-11-13
  • 打赏
  • 举报
回复
会不会你第一次传时 .接受方的线程还没有启动(进入消息循环?)?
wfe100 2003-11-10
  • 打赏
  • 举报
回复
PostThreadMessage()仅用于非窗体事件传送,对于非窗体线程传送的窗体消息一律过虑,所以不要DispatchMessage(),但我的消息确实会丢(非窗体事件),我用的事件类型是WM_USER,单步调试都可以收到,为什么会丢呢?真怪。

1,220

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧