GetMessage与PeekMessage区别

来源:互联网 发布:java swing 编辑:程序博客网 时间:2024/06/05 20:39

它们都是到消息队列中抓消息,如果抓不到,程序的主执行线程

(primary thread,是一个UI 执行线程)会被操作系统虚悬住。

当操作系统再次回来照顾此一执行线程,而发现消息队列中仍然

是空的,这时候两个API函数的行为就有不同了:

  GetMessage 会过门不入,于是操作系统再去照顾其它人。
  PeekMessage 会取回控制权,使程序得以执行一段时间。于是上述消息循环进
入OnIdle 函数中。