PeekMessage和GetMessage的性质不同,它们都是从消息列表里抓取消息,如果抓不到,程序的主执行线程会被操作系统挂起。当操作系统再次回来照顾这一执行线程时,发现消息队列中仍然是空的,这时候两个API函数的行为就不同了:
- Getmessage 会过门不入,于是操作系统再去照顾其他人。
- PeekMessage 会取回控制权,使程序得以执行一段时间,这时候就可以做一些空闲处理,比如处理OnIdle函数。
PeekMessage和GetMessage的性质不同,它们都是从消息列表里抓取消息,如果抓不到,程序的主执行线程会被操作系统挂起。当操作系统再次回来照顾这一执行线程时,发现消息队列中仍然是空的,这时候两个API函数的行为就不同了: