向窗口发送消息
向指定窗口发送 Win32 消息。需要了解 SendMessage 才能正确选用消息和参数。只要移动、关闭、置顶窗口,优先用 窗口操作。
当前模块定义
概述
0.11.4 起提供。默认的 SendMessage 要求 lParam 为数字;需要传文本 lParam,或不等待返回时,换操作类型。
参数说明
操作类型:
- SendMessage(等待返回,LParam 为数字)
- SendMessage(等待返回,LParam 为文本)
- PostMessage(不等待返回)
窗口句柄hWnd:目标窗口。留空或 0 表示前台窗口。
消息:十进制(如 1234)或十六进制(如 0x0112)。
wParam参数:十进制或十六进制。
lParam参数:仅数字 lParam 的两种操作。十进制或十六进制。
lParam参数(文本):仅 LParam 为文本的 SendMessage。
失败后停止:失败是否中止动作。默认开启。
输出
- 是否成功:是否发送成功。
- 返回值:仅两种 SendMessage。含义随消息而变,见对应 API 文档。
示例
用窗口消息把窗口最大化:
限制与排障
发错消息可能导致目标程序异常。先确认句柄来自 获取窗口信息/查找窗口。常用 WM_SYSCOMMAND 见 WM_SYSCOMMAND。
相关链接
更新于