您的位置:首页 > 其它

vc防止程序假死状态

2012-10-29 17:19 141 查看
PeekMessage与GetMessage的对比
相同点:
PeekMessage函数与GetMessage函数都用于查看应用程序消息队列,有消息时将队列中

的消息派发出去。

不同点:
无论应用程序消息队列是否有消息,PeekMessage函数都立即返回,程序得以继续执行

后面的语句(无消息则执行其它指令,有消息时一般要将消息派发出去,再执行其它

指令)。
GetMessage函数只有在消息对立中有消息时返回,队列中无消息就会一直等,直至下

一个消息出现时才返回。在等的这段时间,应用程序不能执行任何指令。
while(true)
{
DWORD ret = WaitForSingleObject(ShExecInfo.hProcess,15);
if(WAIT_OBJECT_0 == ret)/		{
break;
}
else if(WAIT_TIMEOUT == ret)
{
MSG msg;
PeekMessage(&msg,NULL,0,0,PM_REMOVE);
if(msg.message==WM_QUIT)
return false;

TranslateMessage(&msg);
DispatchMessage(&msg);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: