WinMain (Compact 2013)

3/28/2014

This function is called by the system as the initial entry point for Windows Embedded Compact-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

See Also

Reference

Window Functions
DispatchMessage
GetMessage
PostQuitMessage
TranslateMessage