跳到主要内容

向窗口发送消息

向指定窗口发送 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_SYSCOMMANDWM_SYSCOMMAND

相关链接

更新于