ShowWindow
是 Windows API 中的一个函数,用于设置指定窗口的显示状态。它可以控制窗口的显示、隐藏、最小化、最大化等行为。这个函数通常用于控制窗口的可见性和状态。
函数原型
BOOL ShowWindow(HWND hWnd, // 窗口句柄int nCmdShow // 窗口显示状态
);
参数说明
-
hWnd
-
类型:
HWND
-
说明:目标窗口的句柄。如果为
NULL
,则函数无效。
-
-
nCmdShow
-
类型:
int
-
说明:指定窗口的显示状态。常用的值包括:
-
SW_HIDE
:隐藏窗口。 -
SW_SHOW
:显示窗口并激活它。 -
SW_SHOWNORMAL
或SW_NORMAL
:显示窗口并恢复其原始大小和位置(如果窗口是最小化或最大化的)。 -
SW_SHOWMINIMIZED
:显示窗口并最小化它。 -
SW_SHOWMAXIMIZED
:显示窗口并最大化它。 -
SW_MINIMIZE
:最小化窗口。 -
SW_MAXIMIZE
:最大化窗口。 -
SW_RESTORE
:恢复窗口到正常状态(如果窗口是最小化或最大化的)。 -
其他值可以参考 Microsoft 官方文档。
-
-
返回值
-
类型:
BOOL
-
说明:
-
如果窗口之前是可见的,返回
非零值
。 -
如果窗口之前是隐藏的,返回
0
。
-
使用示例
示例 1:显示窗口
#include <windows.h>int main() {// 获取桌面窗口句柄HWND hWnd = GetDesktopWindow();// 显示窗口ShowWindow(hWnd, SW_SHOW);return 0;
}
示例 2:隐藏窗口
#include <windows.h>int main() {// 获取桌面窗口句柄HWND hWnd = GetDesktopWindow();// 隐藏窗口ShowWindow(hWnd, SW_HIDE);return 0;
}
示例 3:最小化窗口
#include <windows.h>int main() {// 获取桌面窗口句柄HWND hWnd = GetDesktopWindow();// 最小化窗口ShowWindow(hWnd, SW_MINIMIZE);return 0;
}
示例 4:最大化窗口
#include <windows.h>int main() {// 获取桌面窗口句柄HWND hWnd = GetDesktopWindow();// 最大化窗口ShowWindow(hWnd, SW_MAXIMIZE);return 0;
}
注意事项
-
窗口句柄:
hWnd
必须是有效的窗口句柄。如果窗口句柄无效,函数将失败。 -
窗口状态:
nCmdShow
参数决定了窗口的显示状态。不同的值会影响窗口的外观和行为。 -
窗口激活:某些显示状态(如
SW_SHOW
)会激活窗口,而其他状态(如SW_SHOWNOACTIVATE
)则不会。 -
最小化和最大化:最小化和最大化操作会改变窗口的大小和位置。
常见应用场景
-
启动时显示窗口:在应用程序启动时,使用
ShowWindow
显示主窗口。 -
隐藏窗口:在后台运行时,隐藏窗口以避免干扰用户。
-
窗口状态切换:根据用户操作,切换窗口的最小化、最大化和正常状态。
-
多窗口管理:在多个窗口之间切换显示状态。
官方文档
-
ShowWindow 函数 - Microsoft Docs