WIN32第一个窗口程序,遇到问题求助啊
经典的“win32第一个窗口”程序,我依葫芦画瓢写好之后,发现窗口关闭之后,停留在
任务管理器之中,这就代表线程实际未退出,消息循环还在继续的意思吧?
我经过仔细检查,发现是消息循环这一块有问题,我把代码显示出来:
这段代码是我看MSDN关于GetMessage函数的介绍中,底部有这么一个 Warning Because the return value can be nonzero, zero, or -1, avoid code like this:
while (GetMessage( lpMsg, hWnd, 0, 0)) ... ,因此参照其推荐格式写的,但是却导致问题!
我将这一部分改写成
就一切正常了!对此我很费解,搞不懂,希望得到指点!
任务管理器之中,这就代表线程实际未退出,消息循环还在继续的意思吧?
我经过仔细检查,发现是消息循环这一块有问题,我把代码显示出来:
MSG msg;
bool bRet;
while((bRet = GetMessage(&msg,hWnd,0,0)) != 0)
{
if(bRet == -1)
{
return -1;
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}这段代码是我看MSDN关于GetMessage函数的介绍中,底部有这么一个 Warning Because the return value can be nonzero, zero, or -1, avoid code like this:
while (GetMessage( lpMsg, hWnd, 0, 0)) ... ,因此参照其推荐格式写的,但是却导致问题!
我将这一部分改写成
MSG Msg;
while(GetMessage(&Msg,NULL,0,0))//NULL表示接受调用线程的所有消息
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);//将消息传递给了窗口过程去处理
} 就一切正常了!对此我很费解,搞不懂,希望得到指点!
...全文
相关推荐
WIN32程序设计之第一个窗口.rar
WIN32程序设计之第一个窗口.rar
Windows窗口应用程序(Win32程序) 源代码
https://blog.csdn.net/duke56/article/details/103411942 源代码 Win32应用程序,非MFC
VS2019使用Windows桌面应用程序模块创建Win32窗口
主要介绍了VS2019使用Windows桌面应用程序模块创建Win32窗口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在Win32程序中应用OpenGL进行多窗口显示
运行时点击渲染,弹出对话框后在四个text控件中分别显示四幅OpenGL渲染得到的图像。用到了多线程
python用win32gui遍历窗口并设置窗口位置的方法
今天小编就为大家分享一篇python用win32gui遍历窗口并设置窗口位置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


