首页 > 代码库 > ShowWindow

ShowWindow

ShowWindow 函数用于设置指定窗口的显示状态。
应用程序第一次调用 ShowWindow 时,应该使用 WinMain 函数的 nCmdshow 参数作为它的 nCmdShow 参数。在随后调用 ShowWindow 函数时,必须使用下列显示方式中的一个给定值,而不是由 WinMain 函数的 nCmdSHow 参数指定的值。


API 函数原型:

  1. BOOL WINAPI ShowWindow(
  2.   _In_  HWND hWnd,
  3.   _In_  int nCmdShow
  4. );

参数解析:

参数含义
hWnd窗口句柄
nCmdShow控制窗口如何显示,如果发送应用程序的程序提供了 STARTUPINFO 结构,则应用程序第一次调用 ShowWindow 时该参数被忽略。否则,在第一次调用 ShowWindow 函数时,该值应为在函数 WinMain 中 nCmdShow 参数。


在随后的调用中,nCmdShow 参数可以为下列值之一:

显示方式含义
SW_FORCEMINIMIZE1. 最小化窗口,即使拥有窗口的线程被挂起也会最小化
2. 在从其他线程最小化窗口时才使用这个参数
SW_HIDE隐藏窗口并激活其他窗口
SW_MAXIMIZE最大化指定的窗口
SW_MINIMIZE最小化指定的窗口并且激活在 Z 序中的下一个顶层窗口
SW_RESTORE1. 激活并显示窗口
2. 如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置
3. 在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW在窗口原来的位置以原来的尺寸激活并显示窗口
SW_SHOWDEFAULT依据在 STARTUPINFO 结构中指定的 SW_FLAG 标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给 CreateProcess 函数的。
SW_SHOWMAXIMIZED激活窗口并将其最大化
SW_SHOWMINIMIZED激活窗口并将其最小化
SW_SHOWMINNOACTIVE1. 窗口最小化
2. 在窗口激活的情况下,这个值跟 SW_SHOWMINIMIZED 很相似
SW_SHOWNA1. 以窗口原来的位置以原来的尺寸显示窗口
2. 在窗口激活的情况下,这个值跟 SW_SHOW 很相似
SW_SHOWNOACTIVATE1. 以窗口最近一次的位置和尺寸显示窗口
2. 在窗口激活的情况下,这个值跟 SW_SHOWNORMAL 很相似
SW_SHOWNORMAL1. 激活并显示一个窗口
2. 如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小
3. 应用程序在第一次显示窗口的时候应该指定此标志


返回值:
1. 如果窗口之前可见,则返回值为非零。
2. 如果窗口之前被隐藏,则返回值为零。