WM_ACTIVATE消息

发送到正在激活的窗口和正在停用的窗口。 如果窗口使用相同的输入队列,则消息将同步发送,首先发送到要停用的顶级窗口的窗口过程,然后发送到正在激活的顶级窗口的窗口过程。 如果窗口使用不同的输入队列,则消息将异步发送,因此会立即激活窗口。

#define WM_ACTIVATE                     0x0006

参数

wParam

低序字指定是激活还是停用窗口。 此参数的取值可为下列值之一: 高序字指定激活或停用窗口的最小化状态。 非零值表示窗口已最小化。

含义
WA_ACTIVE
1
例如,通过调用 SetActiveWindow 函数或使用键盘界面选择窗口) (鼠标单击以外的方法激活。
WA_CLICKACTIVE
2
通过鼠标单击激活。
WA_INACTIVE
0
关闭。

lParam

要激活或停用的窗口的句柄,具体取决于 wParam 参数的值。 如果 wParam 的低序字 WA_INACTIVE则 lParam 是激活窗口的句柄。 如果 wParam 的低序字 WA_ACTIVEWA_CLICKACTIVE则 lParam 是要停用的窗口的句柄。 此句柄可以为 NULL

返回值

如果应用程序处理此消息,则它应返回零。

备注

如果窗口正在激活且未最小化, 则 DefWindowProc 函数会将键盘焦点设置为窗口。 如果窗口通过鼠标单击激活,它还会收到 WM_MOUSEACTIVATE 消息。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)

另请参阅

引用

DefWindowProc

SetActiveWindow

WM_MOUSEACTIVATE

WM_NCACTIVATE

概念性

键盘输入