简单说明PeekMessage和GetMassage的区别

来源:互联网 发布:js兼容性问题有哪些 编辑:程序博客网 时间:2024/05/22 13:28

其实看看他们的函数用法就知道区别:

GetMessage:

while (GetMessage (&msg, NULL, 00))       
{       
    TranslateMessage (
&msg) ;       
    DispatchMessage (
&msg) ;       
}      
return msg.wParam ;

PeedMessage:

while (TRUE)       
{        
    
if (PeekMessage (&msg, NULL, 00, PM_REMOVE))        
    {        
            
if (msg.message == WM_QUIT)        
                   
break ;        
            TranslateMessage (
&msg) ;        
            DispatchMessage (
&msg) ;        
    }        
    
else        
    {        
            
// 完成某些工作的其它行程序        
    }       
}       
return msg.wParam ;


因此,分两种情况:

情况1:当消息队列中有消息时,GetMassage和PeekMessage都响应消息,无差别;


情况2:当消息队列中无消息,GetMassage什么都不做,一直等到下一条消息来后才执行;PeekMessage则执行else语句块中的语句,等下一条消息来后切换至行该消息


0 0
原创粉丝点击