WinMain的返回值

Return value of WinMain

本文关键字:返回值 WinMain      更新时间:2023-10-16

Sup all,我有一个关于WinMain的问题。在VS2010中,_tWinMain的返回值是"(int( msg.wParam"。我不明白为什么它返回 wParam。

什么是wParam?我可以将其更改为"返回 0"吗?

WM_QUITGetMessage处理时,它会终止消息循环。WM_QUIT的文档是这样说的:

wParam

在 PostQuitMessage 函数中给出的退出代码。

这是您从 WinMain 返回的值。因此,此值只是作为退出代码传递给 PostQuitMessage 的值。

您可以更改代码以返回您想要的任何内容,如果您愿意,可以返回零。但是,在正常终止中,PostQuitMessage将传递为零,因此进行此类更改不会获得太多好处。

WinMain返回的值将按原样传递给ExitProcess函数。c/c ++运行时或ExitProcess本身不解释和使用uExitCode - 所以你可以使用绝对的任何值(只能返回STILL_ACTIVE不好,但即使返回它不是错误( - 这是你的应用程序,你需要自己决定你需要返回什么代码。此代码可以通过调用 GetExitCodeProcess 来检索另一个应用程序 - 并以某种方式解释它,如果应用程序中的 uExitCode 包含一些信息(通常这用作错误代码,0 表示没有错误(。但是在大多数情况下,uExitCode 不包含任何信息,也没有人对您的返回代码感兴趣 - 所以绝对没有不同您返回的值。返回msg.wParam当然也是可能的,但没有比返回 0 或说__LINE__更有意义