在一个循环中如何样才可以等待一个消息函数执行完毕后,再继续执行循环内容
在一个类中,有个while()循环,停止循环的标志在一个消息的响应函数中。问下怎么可以在收到消息后,执行消息响应函数中的内容,然后再继续执行while循环?
貌似while循环执行起来会将程序阻塞,然后就收不到消息了。
用pumpmessage貌似也不行,有时候会卡在那里不继续执行了。
------解决方案--------------------
用state控制你的程序,
windows的消息机制,不能让程序“定”在那里,
要不断轮循消息,让消息响应。
------解决方案--------------------
多线程~~~~~~
------解决方案--------------------
在你的while循环中getmessage或者peekmessage,主线程让你while阻塞了所以消息都堆在消息队列里啊。
------解决方案--------------------
但是如果在发送端用线程发送消息,为什么就会捕获不到,而用进程发就可以捕获到?
线程发?进程发?你指的是主线程和其他线程吧。
每个线程默认一个消息队列,你先确定你发的目的消息队列线程和你while在一个线程中。就能get到了啊。发送消息不是有hwnd么,你看看这个就知道了吧。