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

co609 2013-01-21 05:00:39
在一个类中,有个while()循环,停止循环的标志在一个消息的响应函数中。问下怎么可以在收到消息后,执行消息响应函数中的内容,然后再继续执行while循环?
貌似while循环执行起来会将程序阻塞,然后就收不到消息了。
用pumpmessage貌似也不行,有时候会卡在那里不继续执行了。
...全文
785 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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的消息机制,不能让程序“定”在那里, 要不断轮循消息,让消息响应。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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