ShowWindow 函数 (winuser.h)

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

语法

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

参数

[in] hWnd

类型:HWND

窗口的句柄。

[in] nCmdShow

类型: int

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

Value 含义
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 结构中指定的信息来显示窗口。 在后续调用中,应用程序必须调用 ShowWindow ,并将 nCmdShow 设置为 SW_SHOWDEFAULT 才能使用启动应用程序的程序提供的启动信息。 此行为适用于以下情况:

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

示例

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

要求

   
最低受支持的客户端 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