能否请您向我解释一下一般写在WinMain()函数末尾的这句话的意义:
return (int) msg.wParam;
我习惯于用 Windows 应用程序来结束我的控制台应用程序return 0;是错误的吗?
谢谢你。
能否请您向我解释一下一般写在WinMain()函数末尾的这句话的意义:
return (int) msg.wParam;
我习惯于用 Windows 应用程序来结束我的控制台应用程序return 0;是错误的吗?
谢谢你。
循环在接收到通常在调用函数后发出GetMessage()的窗口消息后停止,该函数将其参数描述为应用程序退出代码。WM_QUITPostQuitMessage()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 参数的值。有关更多信息,请参阅创建消息循环。