扁平命令式支持库(不是类)。路径:支持库 → 基础支持库 → 窗口操作。
硬约束
- 扁平命令;句柄多为整数(HWND)。
- 查找窗口依赖标题/类名,标题变化会导致找不到(返回 0)。
- 发送消息/置焦点等可能受 UIPI 与权限限制。
- 与窗体 XML / 设计器控件 API 不同——本页偏系统级窗口。
快速开始
// 取窗口句柄、标题、发送消息等:见签名表
整数 hwnd = 0
输出("hwnd=" + 到文本(hwnd))
窗口操作
本分类共 34 条。
关闭窗口
- 签名:
无 关闭窗口([整数 窗口句柄=0]) - 说明:向窗口发送 WM_CLOSE 关闭消息;本窗口时等同用户点关闭按钮。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
刷新窗口
- 签名:
无 刷新窗口([整数 窗口句柄=0]) - 说明:请求窗口重绘(InvalidateRect);不保证立即完成绘制。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
取前台窗口
- 签名:
整数 取前台窗口() - 说明:返回当前获得键盘输入焦点的前台窗口句柄;无前台窗口时可能返回 0。
取屏幕句柄
- 签名:
整数 取屏幕句柄([整数 X], [整数 Y]) - 说明:取得屏幕坐标处最内层窗口的系统句柄。X、Y 不填时使用当前鼠标位置;失败返回 0。
- 参数一│[整数 X]: 屏幕 X 坐标,省略时使用鼠标位置
- 参数二│[整数 Y]: 屏幕 Y 坐标
取桌面句柄
- 签名:
整数 取桌面句柄() - 说明:返回 Windows 桌面窗口句柄(整数)。
取窗口句柄
- 签名:
整数 取窗口句柄([整数 窗口句柄=0]) - 说明:返回窗口句柄(整数)。省略或 0=本程序主窗口;非 0=验证外部窗口后返回该句柄,无效返回 0。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口句柄
取窗口外框矩形
- 签名:
通用 取窗口外框矩形([整数 窗口句柄=0], [整数 返回值类型=1]) - 说明:返回窗口外框矩形:整数数组依次为左边、顶边、宽度、高度(像素,含标题栏与边框)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
- 参数二│[整数 返回值类型=1]: 1=整数数组,2=JSON 文本(如 [0,0,800,600])
取窗口宽度
- 签名:
整数 取窗口宽度([整数 窗口句柄=0]) - 说明:返回窗口客户区宽度(像素,不含边框与标题栏)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
取窗口左边
- 签名:
整数 取窗口左边([整数 窗口句柄=0]) - 说明:返回窗口外框左上角在屏幕上的 X 坐标(像素)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
取窗口标题
- 签名:
文本 取窗口标题([整数 窗口句柄=0]) - 说明:读取窗口标题栏文字;无标题时返回空文本。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
取窗口状态
- 签名:
整数 取窗口状态([整数 窗口句柄=0]) - 说明:返回窗口显示状态:0=正常,1=最小化,2=最大化。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
取窗口类名
- 签名:
文本 取窗口类名([整数 窗口句柄=0]) - 说明:读取 Win32 窗口类名(如 Notepad、Edit)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
取窗口进程ID
- 签名:
整数 取窗口进程ID([整数 窗口句柄=0]) - 说明:返回窗口所属进程的 PID。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
取窗口顶边
- 签名:
整数 取窗口顶边([整数 窗口句柄=0]) - 说明:返回窗口外框左上角在屏幕上的 Y 坐标(像素)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
取窗口高度
- 签名:
整数 取窗口高度([整数 窗口句柄=0]) - 说明:返回窗口客户区高度(像素)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
最大化窗口
- 签名:
无 最大化窗口([整数 窗口句柄=0]) - 说明:将窗口最大化到可用工作区。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
最小化窗口
- 签名:
无 最小化窗口([整数 窗口句柄=0]) - 说明:将窗口最小化到任务栏。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
枚举子窗口
- 签名:
通用 枚举子窗口([整数 父窗口句柄=0], [文本 类名=""], [文本 标题=""], [整数 部分匹配=1], [整数 返回值类型=1]) - 说明:枚举指定父窗口下的子窗口。父窗口句柄可为外部窗口;默认返回整数数组(句柄列表)。
- 参数一│[整数 父窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部父窗口句柄
- 参数二│[文本 类名=”“]: 类名过滤,空=不限
- 参数三│[文本 标题=”“]: 标题过滤,空=不限
- 参数四│[整数 部分匹配=1]: 标题部分匹配
- 参数五│[整数 返回值类型=1]: 1=整数数组,2=JSON 文本
枚举进程窗口
- 签名:
通用 枚举进程窗口(整数 进程ID, [整数 返回值类型=1]) - 说明:枚举指定进程的全部可见顶层窗口,返回整数数组(句柄列表)。
- 参数一│整数 进程ID: 目标进程 PID
- 参数二│[整数 返回值类型=1]: 1=整数数组,2=JSON 文本
查找全部窗口
- 签名:
通用 查找全部窗口(文本 标题, [文本 类名=""], [整数 部分匹配=1], [整数 父窗口句柄=0], [整数 进程ID=0], [整数 返回值类型=1]) - 说明:查找所有匹配的可见窗口。默认返回整数数组(窗口句柄列表)。
- 参数一│文本 标题: 标题关键字;空=不限
- 参数二│[文本 类名=”“]: 类名过滤
- 参数三│[整数 部分匹配=1]: 1=包含匹配,0=完全相同
- 参数四│[整数 父窗口句柄=0]: 非 0 时在子窗口中查找
- 参数五│[整数 进程ID=0]: 非 0 时限定进程
- 参数六│[整数 返回值类型=1]: 1=整数数组,2=JSON 文本
查找窗口
- 签名:
整数 查找窗口(文本 标题, [文本 类名=""], [整数 部分匹配=1], [整数 父窗口句柄=0], [整数 进程ID=0]) - 说明:在系统中查找可见窗口,返回第一个匹配的窗口句柄(整数);找不到返回 0。
- 参数一│文本 标题: 要匹配的标题文字;空字符串表示不限标题
- 参数二│[文本 类名=”“]: Win32 窗口类名(如 Notepad);空=不限
- 参数三│[整数 部分匹配=1]: 1=标题包含关键字,0=标题必须完全相同
- 参数四│[整数 父窗口句柄=0]: 非 0 时仅在指定父窗口的子窗口中查找
- 参数五│[整数 进程ID=0]: 非 0 时限定所属进程
激活窗口
- 签名:
逻辑 激活窗口([整数 窗口句柄=0]) - 说明:将指定窗口切换到前台并尝试给予焦点;若窗口最小化会先还原。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
窗口居中
- 签名:
无 窗口居中([整数 窗口句柄=0]) - 说明:将窗口外框移动到当前虚拟屏幕中央。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
窗口是否可见
- 签名:
逻辑 窗口是否可见([整数 窗口句柄=0]) - 说明:判断窗口当前是否可见。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
窗口是否最大化
- 签名:
逻辑 窗口是否最大化([整数 窗口句柄=0]) - 说明:判断窗口是否处于最大化状态。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
窗口是否最小化
- 签名:
逻辑 窗口是否最小化([整数 窗口句柄=0]) - 说明:判断窗口是否处于最小化状态。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
窗口是否置顶
- 签名:
逻辑 窗口是否置顶([整数 窗口句柄=0]) - 说明:判断窗口是否处于置顶状态。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
窗口有效
- 签名:
逻辑 窗口有效([整数 窗口句柄=0]) - 说明:判断窗口句柄是否仍对应系统中存在的窗口;销毁后的句柄返回假。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=待检测句柄
置窗口位置
- 签名:
无 置窗口位置([整数 窗口句柄=0], 整数 左边, 整数 顶边) - 说明:将窗口外框左上角移动到屏幕指定坐标;不改变大小。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
- 参数二│整数 左边: 屏幕 X 坐标(像素)
- 参数三│整数 顶边: 屏幕 Y 坐标(像素)
置窗口大小
- 签名:
无 置窗口大小([整数 窗口句柄=0], 整数 宽度, 整数 高度) - 说明:按客户区尺寸调整窗口大小(自动计入边框与标题栏)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
- 参数二│整数 宽度: 客户区宽度(像素),建议 ≥ 0
- 参数三│整数 高度: 客户区高度(像素),建议 ≥ 0
置窗口标题
- 签名:
无 置窗口标题([整数 窗口句柄=0], 文本 标题) - 说明:设置窗口标题栏文字;可修改本程序或外部窗口标题(受系统策略限制)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
- 参数二│文本 标题: 新标题文字,空字符串=清空标题
置窗口置顶
- 签名:
逻辑 置窗口置顶([整数 窗口句柄=0], [逻辑 置顶=真]) - 说明:设置或取消窗口总在最前(TopMost)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
- 参数二│[逻辑 置顶=真]: 真=置顶,假=取消置顶
置窗口边界
- 签名:
无 置窗口边界([整数 窗口句柄=0], 整数 左边, 整数 顶边, 整数 宽度, 整数 高度) - 说明:一次性设置窗口客户区位置与大小(自动计入边框与标题栏)。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口
- 参数二│整数 左边: 外框左上角屏幕 X
- 参数三│整数 顶边: 外框左上角屏幕 Y
- 参数四│整数 宽度: 客户区宽度
- 参数五│整数 高度: 客户区高度
还原窗口
- 签名:
无 还原窗口([整数 窗口句柄=0]) - 说明:还原最大化或最小化的窗口到正常状态。
- 参数一│[整数 窗口句柄=0]: 省略或 0=本程序主窗口;非 0=外部窗口
易错对照
| 错误 | 正确 |
|---|---|
| 句柄为 0 仍发消息 | 先判断查找是否成功 |
| 标题模糊匹配失败 | 确认完整标题或改用类名 |