ShowWindow function (winuser.h)

Sets the specified window's show state.

Syntax

BOOL ShowWindow(
  [in] HWND hWnd,
  [in] int  nCmdShow
);

Parameters

[in] hWnd

Type: HWND

A handle to the window.

[in] nCmdShow

Type: int

Controls how the window is to be shown. This parameter is ignored the first time an application calls ShowWindow, if the program that launched the application provides a STARTUPINFO structure. Otherwise, the first time ShowWindow is called, the value should be the value obtained by the WinMain function in its nCmdShow parameter. In subsequent calls, this parameter can be one of the following values.

Value Meaning
SW_HIDE
0
Hides the window and activates another window.
SW_SHOWNORMAL
SW_NORMAL
1
Activates and displays a window. If the window is minimized, maximized, or arranged, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
SW_SHOWMINIMIZED
2
Activates the window and displays it as a minimized window.
SW_SHOWMAXIMIZED
SW_MAXIMIZE
3
Activates the window and displays it as a maximized window.
SW_SHOWNOACTIVATE
4
Displays a window in its most recent size and position. This value is similar to SW_SHOWNORMAL, except that the window is not activated.
SW_SHOW
5
Activates the window and displays it in its current size and position.
SW_MINIMIZE
6
Minimizes the specified window and activates the next top-level window in the Z order.
SW_SHOWMINNOACTIVE
7
Displays the window as a minimized window. This value is similar to SW_SHOWMINIMIZED, except the window is not activated.
SW_SHOWNA
8
Displays the window in its current size and position. This value is similar to SW_SHOW, except that the window is not activated.
SW_RESTORE
9
Activates and displays the window. If the window is minimized, maximized, or arranged, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
SW_SHOWDEFAULT
10
Sets the show state based on the SW_ value specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application.
SW_FORCEMINIMIZE
11
Minimizes a window, even if the thread that owns the window is not responding. This flag should only be used when minimizing windows from a different thread.

Return value

Type: BOOL

If the window was previously visible, the return value is nonzero.

If the window was previously hidden, the return value is zero.

Remarks

To perform certain special effects when showing or hiding a window, use AnimateWindow.

The first time an application calls ShowWindow, it should use the WinMain function's nCmdShow parameter as its nCmdShow parameter. Subsequent calls to ShowWindow must use one of the values in the given list, instead of the one specified by the WinMain function's nCmdShow parameter.

As noted in the discussion of the nCmdShow parameter, the nCmdShow value is ignored in the first call to ShowWindow if the program that launched the application specifies startup information in the structure. In this case, ShowWindow uses the information specified in the STARTUPINFO structure to show the window. On subsequent calls, the application must call ShowWindow with nCmdShow set to SW_SHOWDEFAULT to use the startup information provided by the program that launched the application. This behavior is designed for the following situations:

  • Applications create their main window by calling CreateWindow with the WS_VISIBLE flag set.
  • Applications create their main window by calling CreateWindow with the WS_VISIBLE flag cleared, and later call ShowWindow with the SW_SHOW flag set to make it visible.

Examples

For an example, see Creating a Main Window.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-window-l1-1-0 (introduced in Windows 8)

See also

AnimateWindow

Conceptual

CreateProcess

CreateWindow

Other Resources

Reference

STARTUPINFO

ShowOwnedPopups

ShowWindowAsync

WinMain

Windows