注册 登录
编程论坛 VC++/MFC

请教下面的run()函数里的while判断是什么意思啊?特别是

NBABOY 发布于 2013-08-08 19:43, 453 次点击
请教下面的run()函数里的while判断是什么意思啊?特别是"!::PeekMessage()",是不是this成员函数的非值,求证谢谢!
int CWinThread::Run()
{
BOOL bIdle = TRUE; Long lIdleCount = 0;
for(;;)
{
 while(bIdle&&!::PeekMessage(&m_msgCur,NULL,NULL,NULL,PM_NOREMOVE))//这是什么意思啊?
 {
  if(!OnIdle(lIdleCount++))
   bIdle = FALSE;
 }
}
do
 {
  if(!PumpMessage())
   return FALSE;
  if(IsIdleMessage(&m_msgCur))
   {
    bIdle = TRUE;
    lIdleCount = 0;
   }
 }
1 回复
#2
yuccn2013-08-08 20:49
::开头的函数一般都是系统api
!::PeekMessage()是说如果该函数反悔失败的意思

PeekMessage()
用于查看应用程序消息队列,有消息时将队列中的消息派发出去

查下msdb吧

[ 本帖最后由 yuccn 于 2013-8-9 12:07 编辑 ]
1