请教一个关于自己获取消息的问题
因为我的程序要在document类的一个成员函数类循环地处理数据,但同时要响应外界的消息。只要用户不关闭程序,程序就一直处理下去。所以我在函数里面用了自己获取消息的代码。(由于时间效率问题,我没有用定时器)。代码如下:
void CTestqqDoc::OnTest()
{
MSG msg;
BOOL fMessage;
PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);
while(msg.message != WM_QUIT) // 消息循环
{
fMessage = PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE);
if( fMessage ) // 有消息
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
;// 处理任务
}
}
但现在的问题是,当我关闭程序时。窗口消失了,但程序没有结束。我跟踪了一下,程序根本就不能跳出循环,也就是说获取不到WM_QUIT消息。而且其他有一些消息也无法获取。
请问这是怎么回事呀?