GetQueueStatus() 函数无效问题 我在View类下面加了一个函数,里面来判断消息队列的状态,使用了GetQueueStatus()这个api函数,但是取不到任何有效状态. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要修改窗体的消息循环,在PeekMessage之前来调用GetQueueStatus, 因为这个函数只识别消息队列里的消息,刚被PeekMessage取出来的消息无法识别的。示例代码: while (true) { DWORD dwMessage=GetQueueStatus(QS_HOTKEY); printMessage(HIWORD(dwMessage),_T("当前消息")); //显示出消息类型 printMessage(LOWORD(dwMessage),_T("下个消息")); if(PeekMessage(&msg, NULL, 0, 0,PM_REMOVE)) { if(msg.message==WM_QUIT) //当接受到WM_QUIT时,退出循环 break; else { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } }else { WaitMessage(); //当没有消息时,将线程挂起,减少CPU使用率 } } while (true) { DWORD dwMessage=GetQueueStatus(QS_ALLINPUT); printMessage(HIWORD(dwMessage),_T("当前消息")); //显示出消息类型 printMessage(LOWORD(dwMessage),_T("下个消息")); if(PeekMessage(&msg, NULL, 0, 0,PM_REMOVE)) { if(msg.message==WM_QUIT) //当接受到WM_QUIT时,退出循环 break; else { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } }else { WaitMessage(); //当没有消息时,将线程挂起,减少CPU使用率 } } 追加100分,用过MDI的请进 怎么读取xml里面的信息 TAB控件关联的两个对话框之间如何相互访问控件! 创建一个窗口,如何实时知道是否被其它窗口挡住? 高手们!!如何设置状态栏各栏的大小? 怎么在VC里调用html中的一个函数啊? 缩水算法的数学论证 插入符使用问题 文本框中的文字有多种颜色是怎么做到的 关于OpenGL绘制三维场景的问题 一个数据保存的问题 请教关于窗口消息机制的问题
while (true)
{
DWORD dwMessage=GetQueueStatus(QS_HOTKEY);
printMessage(HIWORD(dwMessage),_T("当前消息")); //显示出消息类型
printMessage(LOWORD(dwMessage),_T("下个消息"));
if(PeekMessage(&msg, NULL, 0, 0,PM_REMOVE))
{
if(msg.message==WM_QUIT) //当接受到WM_QUIT时,退出循环
break;
else
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} }
}else
{
WaitMessage(); //当没有消息时,将线程挂起,减少CPU使用率
}
}
{
DWORD dwMessage=GetQueueStatus(QS_ALLINPUT);
printMessage(HIWORD(dwMessage),_T("当前消息")); //显示出消息类型
printMessage(LOWORD(dwMessage),_T("下个消息"));
if(PeekMessage(&msg, NULL, 0, 0,PM_REMOVE))
{
if(msg.message==WM_QUIT) //当接受到WM_QUIT时,退出循环
break;
else
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} }
}else
{
WaitMessage(); //当没有消息时,将线程挂起,减少CPU使用率
} }