WinMain
The WinMain
function is called by the system as the initial entry point for a Win32-based
application.
int WINAPI WinMain(
HINSTANCE hInstance, |
// handle to
current instance |
HINSTANCE hPrevInstance, |
// handle to
previous instance |
LPSTR lpCmdLine, |
// pointer to
command line |
int nCmdShow |
// show state of
window |
); |
|
Parameters
hInstance
Identifies
the current instance of the application.
hPrevInstance
Identifies
the previous instance of the application. For a Win32-based application, this
parameter is always NULL. If you need to detect whether another instance
already exists, create a named mutex using the CreateMutex
lpCmdLine
Points to a
null-terminated string specifying the command line for the application.
nCmdShow
Specifies how
the window is to be shown. This parameter can be one of the following values:
Value |
Meaning |
SW_HIDE |
Hides the
window and activates another window. |
SW_MINIMIZE |
Minimizes
the specified window and activates the top-level window in the system s list. |
SW_RESTORE |
Activates
and displays a window. If the window is minimized or maximized, Windows
restores it to its original size and position (same as SW_SHOWNORMAL). |
SW_SHOW |
Activates a
window and displays it in its current size and position. |
SW_SHOWMAXIMIZED |
Activates a
window and displays it as a maximized window. |
SW_SHOWMINIMIZED |
Activates a
window and displays it as an icon. |
SW_SHOWMINNOACTIVE |
Displays a
window as an icon. The active window remains active. |
SW_SHOWNA |
Displays a
window in its current state. The active window remains active. |
SW_SHOWNOACTIVATE |
Displays a
window in its most recent size and position. The active window remains
active. |
SW_SHOWNORMAL |
Activates
and displays a window. If the window is minimized or maximized, Windows
restores it to its original size and position (same as SW_RESTORE). |
Return Values
If the
function succeeds, terminating when it receives a WM_QUIT message, it should
return the exit value contained in that message s wParam parameter. If
the function terminates before entering the message loop, it should return 0.
Remarks
WinMain initializes an application, displays its main window,
and then enters a message retrieval-and-dispatch loop that is the top-level
control structure for the remainder of the application s execution. The message
loop terminates when a WM_QUIT message is received. At that point, WinMain
exits the application, returning the value passed in the WM_QUIT message s wParam
parameter. If WM_QUIT was received as a result of calling PostQuitMessage,
the value of wParam is the value of the PostQuitMessage
function s nExitCode parameter. For more information, see Creating a
Message Loop
See Also