总而言之,我有一个关于WinMain的问题。在VS2010中,_tWinMain的返回值是"(int)msg.wParam"。我不明白为什么它会返回wParam。
什么是wParam?我可以将其更改为"返回0"?
答案 0 :(得分:1)
WM_QUIT
处理GetMessage
时,它会终止消息循环。 WM_QUIT
的文档说明了这一点:
<强>的wParam 强>
PostQuitMessage函数中给出的退出代码。
这是您从WinMain
返回的值。因此,此值只是作为退出代码传递给PostQuitMessage
的值。
您可以更改代码以返回您想要的任何内容,如果您愿意,则返回零。但是,在正常终止时,PostQuitMessage
将被传递为零,因此通过进行此类更改无法获得任何好处。
答案 1 :(得分:0)
WinMain
返回的值将按原样传递给ExitProcess函数。
c / c ++运行时或ExitProcess本身不解释并使用 uExitCode - 所以你可以使用绝对任何值(只能返回STILL_ACTIVE
不好但是甚至不返回它错误) - 这是您的应用程序,您需要自己决定需要返回的代码。此代码可以通过调用GetExitCodeProcess检索另一个应用程序 - 并以某种方式解释它,如果 uExitCode 来自包含某些信息的应用程序(通常将其用作错误代码,0表示没有错误)。但是在大多数情况下 uExitCode 不包含任何信息,并且在返回代码中没有人感兴趣 - 所以绝对没有什么不同,你返回的是什么值。当然也可以返回msg.wParam
,但没有比返回0或说__LINE__