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 API仍然是提升技能和解决问题的有效途径。因此,学习"WIN32程序设计之第一个窗口"不仅是对Windows编程基础的掌握,也是通往更复杂系统开发的桥梁。
Windows窗口应用程序(Win32程序) 源代码
总之,Win32窗口应用程序是Windows平台上构建GUI程序的一种基础方法,涉及的主要知识点包括WinMain入口点、窗口类、窗口过程、消息循环和Win32 API函数的使用。
VS2019使用Windows桌面应用程序模块创建Win32窗口
其中,使用Windows桌面应用程序模块创建Win32窗口是VS2019中的一种常见的应用场景。本文将详细介绍如何使用VS2019创建Win32窗口,并提供了相关的示例代码。
在Win32程序中应用OpenGL进行多窗口显示
总之,在Win32程序中应用OpenGL进行多窗口显示是一项涉及Win32 API、OpenGL和多线程技术的综合实践。
python用win32gui遍历窗口并设置窗口位置的方法
`win32gui`和`win32con`库,我们可以编写Python程序来遍历Windows系统中的所有窗口,并根据需要设置特定窗口的位置和大小。


