ShowWindow 函数 (winuser.h)

设置指定窗口的显示状态。

语法

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

parameters

[in] hWnd

类型:HWND

窗口的句柄。

[in] nCmdShow

类型: int

控制窗口的显示方式。 如果启动应用程序的程序提供 STARTUPINFO 结构,则应用程序首次调用 ShowWindow 时将忽略此参数。 否则,首次调用 ShowWindow 时,该值应为 WinMain 函数在其 nCmdShow 参数中获取的值。 在后续调用中,此参数可以是以下值之一。

含义
SW_HIDE
0
隐藏窗口并激活另一个窗口。
SW_SHOWNORMAL
SW_NORMAL
1
激活并显示窗口。 如果窗口最小化、最大化或排列,系统会将其还原到其原始大小和位置。 应用程序应在首次显示窗口时指定此标志。
SW_SHOWMINIMIZED
2
激活窗口并将其显示为最小化窗口。
SW_SHOWMAXIMIZED
SW_MAXIMIZE
3
激活窗口并显示最大化的窗口。
SW_SHOWNOACTIVATE
4
以最近的大小和位置显示窗口。 此值类似于 SW_SHOWNORMAL,只是窗口未激活。
SW_SHOW
5
激活窗口并以当前大小和位置显示窗口。
SW_MINIMIZE
6
最小化指定的窗口,并按 Z 顺序激活下一个顶级窗口。
SW_SHOWMINNOACTIVE
7
将窗口显示为最小化窗口。 此值类似于 SW_SHOWMINIMIZED,但窗口未激活。
SW_SHOWNA
8
以当前大小和位置显示窗口。 此值类似于 SW_SHOW,只是窗口未激活。
SW_RESTORE
9
激活并显示窗口。 如果窗口最小化、最大化或排列,系统会将其还原到其原始大小和位置。 还原最小化窗口时,应用程序应指定此标志。
SW_SHOWDEFAULT
10
根据启动应用程序的程序传递给 CreateProcess 函数的 STARTUPINFO 结构中指定的SW_值设置显示状态。
SW_FORCEMINIMIZE
11
最小化窗口,即使拥有窗口的线程没有响应。 仅当最小化不同线程的窗口时,才应使用此标志。

返回值

类型: BOOL

如果窗口以前可见,则返回值为非零值。

如果以前隐藏窗口,则返回值为零。

备注

若要在显示或隐藏窗口时执行某些特殊效果,请使用 AnimateWindow

应用程序首次调用 ShowWindow 时,它应使用 WinMain 函数的 nCmdShow 参数作为其 nCmdShow 参数。 对 ShowWindow 的后续调用必须使用给定列表中的值之一,而不是 WinMain 函数的 nCmdShow 参数指定的值。

讨论 nCmdShow 参数中所述,如果启动应用程序的程序在结构中指定启动信息,则首次调用 ShowWindow 时将忽略 nCmdShow 值。 在这种情况下, ShowWindow 使用 STARTUPINFO 结构中指定的信息来显示窗口。 在后续调用中,应用程序必须调用将 nCmdShow 设置为 SW_SHOWDEFAULT的 ShowWindow,才能使用启动应用程序的程序提供的启动信息。 此行为适用于以下情况:

  • 应用程序通过调用具有WS_VISIBLE标志的 CreateWindow 来创建其main窗口。
  • 应用程序通过调用清除WS_VISIBLE标志的 CreateWindow 来创建其main窗口,然后调用 ShowWindow 并设置SW_SHOW标志使其可见。

示例

有关示例,请参阅 创建主窗口

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-window-l1-1-0 (

请参阅

AnimateWindow

概念性

CreateProcess

CreateWindow

其他资源

引用

STARTUPINFO

ShowOwnedPopups

ShowWindowAsync

WinMain

Windows