winmain()函数/ c ++

时间:2011-12-21 22:01:09

标签: c++ return-value winmain

您能否向我解释一下WinMain()函数末尾写的这句话的重要性:

   return (int) msg.wParam;

我习惯用return 0;来结束我的控制台应用程序对于Windows应用程序是错误的吗?

谢谢。

3 个答案:

答案 0 :(得分:3)

GetMessage()循环在收到WM_QUIT窗口消息后停止,该消息通常在调用PostQuitMessage()函数后发出,该函数将nExitCode参数描述为应用程序退出代码

如果您想尊重调用PostQuitMessage()函数的人的意图,您应该从main返回该值。当您返回从wParam的上次调用中检索到的GetMessage()时,您正在执行此操作。

答案 1 :(得分:2)

来自WinMain()文档(http://msdn.microsoft.com/en-us/library/windows/desktop/ms633559.aspx):

  

收到WM_QUIT消息时终止消息循环。在那   点,您的WinMain应该退出应用程序,返回值   传递了WM_QUIT消息的wParam参数。如果是WM_QUIT   因调用PostQuitMessage而收到wParam的值   是PostQuitMessage函数的nExitCode参数的值。

答案 2 :(得分:2)

来自the first hit of a Google search

  

您的WinMain应初始化应用程序,显示其主要内容   窗口,并输入一个消息检索和分派循环   应用程序其余部分的顶级控制结构   执行。收到WM_QUIT时终止消息循环   信息。此时,您的WinMain应该退出应用程序,   返回WM_QUIT消息的wParam参数中传递的值。   如果因调用PostQuitMessage而收到WM_QUIT,则   wParam的值是PostQuitMessage函数的值   nExitCode参数。有关更多信息,请参阅创建消息   循环。