一条WM_USER消息被连续处理三次

云霞 发布于 2011/09/02 17:26
阅读 280
收藏 0

大家好!

在一个MFC工程代码中向某线程发送WM_USER消息,只发了一次,却连续处理了三次,这可能是什么原因?请帮忙。

加载中
0
Lunar_Lin
Lunar_Lin

     怎么判定 最终只发了一次? 怎么判定处理了三次?

     这种东西,加些输出的log语句比较好.windows系统不太可能有Bug,向线程消息队列投递三次该消息,所以可能还是程序哪里有点毛病.另外我看你用的线程消息队列,不知道你的代码是怎样的? 是否是传统的做法?  发: postthreadmessage() //有一些消息类型无法使用该函数,不过你是自定义消息,不相关.

    收: 先PeekMessage(),创建一个消息队列, 然后

    while(GetMessage()) {

     TranslateMessage();     switch.............. 

}

0
sam_ai
sam_ai
你处理那段加锁了没?
云霞
怎么加锁?
返回顶部
顶部