首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

PostQuitMessage无法结束程序《〈〈高分〉〉》解决思路

2012-01-14 
PostQuitMessage无法结束程序《〈〈高分〉〉》一个用C++,API写的最基本的程序,只有51行,以下是消息处理函数LRESU

PostQuitMessage无法结束程序《〈〈高分〉〉》
一个用C++,API写的最基本的程序,只有51行,以下是消息处理函数
LRESULT   CALLBACK   WindowProc   (HWND   hWnd,UINT   message,WPARAM   wParam,LPARAM   lParam)
{
switch   (message)  
{
case   WM_DESTROY:
PostQuitMessage(0);
break;
}
        return   DefWindowProc(hWnd,   message,   wParam,   lParam);
}
按下关闭按钮后程序没有结束,任务管理器显示其占了90%多的CPU,必须手动结束。请问是什么原因?

[解决办法]
递归啊? 死循环了你
[解决办法]
和PostQuitMessage()没有关系。这里
while (GetMessage (&msg,hwnd,0,0))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
改成
while (GetMessage (&msg,NULL,0,0))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
就好了
[解决办法]
PostQuitMessage发送WM_QUIT,GetMessage()之后消息循环就结束 了,
再说WM_DESTROY是在调用OnDestroyWindow()发送,

热点排行