WinMain

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function is called by the system as the initial entry point for Windows Embedded CE-based applications.

Syntax

int WINAPI WinMain(
  HINSTANCE hInstance, 
  HINSTANCE hPrevInstance, 
  LPWSTR lpCmdLine, 
  int nShowCmd 
); 

Parameters

  • hInstance
    [in] Handle to the current instance of the application.
  • hPrevInstance
    [in] Handle to 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 uniquely named mutex using the CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the GetLastError function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first.

  • lpCmdLine
    [in] Pointer to a null-terminated string that specifies the command line for the application, excluding the program name.
  • nShowCmd
    [in] Specifies how the window is to be shown. This parameter can be one of the following values:

    Value Description

    SW_HIDE

    Hides the window and activates another window.

    SW_SHOW

    Activates a window and displays it in its current size and position.

    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, the system restores it to its original size and position (same as SW_RESTORE).

Return Value

The exit value contained in that message's wParam parameter indicates success, and that the function terminates when it receives a WM_QUIT message. Zero indicates that the function terminates before entering the message loop.

Remarks

Your WinMain function should initialize the application, display its main window, and enter a message retrieval-and-dispatch loop that is the top-level control structure for the remainder of the application's execution. Terminate the message loop when it receives a WM_QUIT message. At that point, your WinMain should exit 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.

Requirements

Header winuser.h
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Windows Functions
DispatchMessage
GetMessage
PostQuitMessage
TranslateMessage