在一个循环中怎么样才可以等待一个消息函数执行完毕后,再继续执行循环内容。

co609 2013-01-21 05:00:39
在一个类中,有个while()循环,停止循环的标志在一个消息的响应函数中。问下怎么可以在收到消息后,执行消息响应函数中的内容,然后再继续执行while循环?
貌似while循环执行起来会将程序阻塞,然后就收不到消息了。
用pumpmessage貌似也不行,有时候会卡在那里不继续执行了。
...全文
570 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
co609 2013-01-22
引用 4 楼 chuachua66 的回复:
在你的while循环中getmessage或者peekmessage,主线程让你while阻塞了所以消息都堆在消息队列里啊。
while()循环中有getmessage,但是getmessage捕获不到自定义的消息是为什么? 我将发送端用postmessage发送,可以捕获自定义消息了。 但是如果在发送端用线程发送消息,为什么就会捕获不到,而用进程发就可以捕获到?
  • 打赏
  • 举报
回复
chuachua66 2013-01-22
在你的while循环中getmessage或者peekmessage,主线程让你while阻塞了所以消息都堆在消息队列里啊。
  • 打赏
  • 举报
回复
co609 2013-01-22
有两个进程,其中一个进程的一个线程会发送消息给另外一个进程。 另一个进程用getmessage捕获不到,这是为什么了? 发送的消息是自定义消息。 用PostMessage发送的。SendMessage发送后GetMessage也捕获不到
  • 打赏
  • 举报
回复
chuachua66 2013-01-22
但是如果在发送端用线程发送消息,为什么就会捕获不到,而用进程发就可以捕获到? 线程发?进程发?你指的是主线程和其他线程吧。 每个线程默认一个消息队列,你先确定你发的目的消息队列线程和你while在一个线程中。就能get到了啊。发送消息不是有hwnd么,你看看这个就知道了吧。
  • 打赏
  • 举报
回复
赵4老师 2013-01-22
《Windows核心编程》
  • 打赏
  • 举报
回复
sduxiaoxiang 2013-01-22
waitforobject
  • 打赏
  • 举报
回复
zilaishuichina 2013-01-21
多线程~~~~~~
  • 打赏
  • 举报
回复
prajna 2013-01-21
用state控制你的程序, windows的消息机制,不能让程序“定”在那里, 要不断轮循消息,让消息响应。
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2013-01-21 05:00
社区公告
暂无公告