能否请您向我解释一下一般写在WinMain()
函数末尾的这句话的意义:
return (int) msg.wParam;
我习惯于用 Windows 应用程序来结束我的控制台应用程序return 0;
是错误的吗?
谢谢你。
能否请您向我解释一下一般写在WinMain()
函数末尾的这句话的意义:
return (int) msg.wParam;
我习惯于用 Windows 应用程序来结束我的控制台应用程序return 0;
是错误的吗?
谢谢你。
循环在接收到通常在调用函数后发出GetMessage()
的窗口消息后停止,该函数将其参数描述为应用程序退出代码。WM_QUIT
PostQuitMessage()
nExitCode
如果你想尊重调用函数的人的意图PostQuitMessage()
,你应该从 main 返回那个值。当您返回wParam
从最后一次调用中检索到的GetMessage()
.
从WinMain()
文档(http://msdn.microsoft.com/en-us/library/windows/desktop/ms633559.aspx):
收到
WM_QUIT
消息时终止消息循环。此时,您WinMain
应该退出应用程序,返回WM_QUIT
消息wParam
参数中传递的值。如果WM_QUIT
作为调用的结果接收到PostQuitMessage
,wParam
则 的值是PostQuitMessage
函数nExitCode
参数的值。
您的 WinMain 应该初始化应用程序,显示其主窗口,并进入一个消息检索和分发循环,该循环是应用程序执行其余部分的顶级控制结构。当收到 WM_QUIT 消息时终止消息循环。此时,您的 WinMain 应该退出应用程序,返回在 WM_QUIT 消息的 wParam 参数中传递的值。如果作为调用 PostQuitMessage 的结果接收到 WM_QUIT,则 wParam 的值是 PostQuitMessage 函数的 nExitCode 参数的值。有关更多信息,请参阅创建消息循环。