PeekMessage什么用啊? PeekMessage什么用啊?和GetMessage是什么关系呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PeekMessage 如果没有取到消息的话不会等待GetMessage 则会等到有消息 PeekMessage 返回 TRUE 的条件是有消息,如果没有消息返回 FALSEGetMessage 返回 TRUE 的条件是有消息且该消息不为 WM_QUIT 返回 FALSE 的条件是有消息且不为 WM_QUITwhile (1) PeekMessage(...); //会使 CPU 一直处于忙碌状态while (GetMessage()) ; // 不会使 CPU 一直被占用,没有消息时处于等待状态 非堵塞/堵塞对应PostMessage/SendMessage while(1) { if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam; TranslateMessage(&msg); DispatchMessage(&msg); } else if(bActive) { Update(); // 翻转上一层缓冲区内容到屏幕。 Screen->Flip(); } else WaitMessage(); }}那这样不是CPU占用率超高(97%),有什么用呢? 为什么会是CPU占用率超高?说说理由 呵呵,是DDraw里的代码么?这与 bActive 的赋值和 WaitMessage 的处理有关 因为会一直执行 WHY 循环 什么是“兼容位图”?其具体的工作原理是什么? 如何设计线程中的死循环 花了一个下午还没解决的简单问题 视频采集的回调函数必须放在预览的前面吗??? 边下载边播放的客户端程序是如何实现的? 我已经获得了窗口的句柄,怎样引用这个窗口 谁能给我提供关于AT指令的编解码方面的资料? 怎样响应WM_NOTIFY消息?我的这个做法错在哪里? ListView的Item有个数限制吗? 找不着EnumProcesses所要求的头文件Psapi.h和Psapi.lib??????? 关于定制IE菜单工具栏的问题 有关CRichEditCtrl和HTML的问题,请教一哈,感激不尽!
GetMessage 则会等到有消息
GetMessage 返回 TRUE 的条件是有消息且该消息不为 WM_QUIT
返回 FALSE 的条件是有消息且不为 WM_QUITwhile (1)
PeekMessage(...); //会使 CPU 一直处于忙碌状态while (GetMessage())
; // 不会使 CPU 一直被占用,没有消息时处于等待状态
{
if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
{
if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else if(bActive)
{
Update(); // 翻转上一层缓冲区内容到屏幕。
Screen->Flip();
}
else WaitMessage();
}
}那这样不是CPU占用率超高(97%),有什么用呢?
这与 bActive 的赋值和 WaitMessage 的处理有关