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
Conceptual
Other Resources
Reference