// Main message loop
MSG msg;
ZeroMemory( &msg, sizeof( msg ) );
while(msg.message!=WM_QUIT)
{
if(PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
Render();
}
}
“render”函数尚未执行
The PeekMessage http://msdn.microsoft.com/en-us/library/windows/desktop/ms644943.aspx文档中关于返回值的说明如下:
如果消息可用,则返回值非零。
如果没有可用消息,则返回值为零。
当消息队列为空时,确实会返回零,即FALSE
。因此结论是消息队列永远不会为空。最可能的解释是您处理的消息之一DispatchMessage
导致相同的消息被发布到队列中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)