围绕 HWND 与 绑定窗口:查询/枚举窗口、几何与坐标变换、标题与类名、剪贴板与字符串发送、进程与图标等。多数接口的 坐标是否相对绑定窗口 依 绑定模式 与接口说明而定,需与 图像识别、图像处理 文档中的「相对窗口」说明交叉阅读。
选型:一般脚本 BindWindow 够用;需要 后台截图/特殊键鼠/DPI 等 → BindWindowEx + 设置。
| 类型 | 代表接口 | 差异 |
|---|
| 单窗查找 | FindWindow、FindWindowEx、FindWindowByProcess*、FindWindowSuper 等 | 输入条件不同:类名/标题/进程名/PID/扩展条件。 |
| 枚举 | EnumWindow、EnumWindowByProcess*、EnumProcess 等 | 返回 一批 窗口或进程,需自行循环筛选。 |
| 特殊窗口 | GetSpecialWindow、EnumWindowSuper、FindWindowSuper | 桌面、任务栏等特殊句柄,权限与系统版本可能影响结果。 |
差异要点:Find* 返回 第一个满足 的句柄;Enum* 需 回调或列表 遍历;ByProcess 系列以 进程 为锚缩小范围。
| 方向 | 接口 | 差异 |
|---|
| 窗口矩形 | GetWindowRect、GetClientRect | 前者含边框相对屏幕;后者 客户区,用于点击/截图区域换算。 |
| 坐标互转 | ClientToScreen、ScreenToClient | 客户区坐标 ↔ 屏幕坐标,绑定窗口 下图点找色常用。 |
| 尺寸与状态 | GetClientSize、SetWindowSize、SetClientSize、SetWindowState | 读/改客户区或整窗尺寸、最小化最大化等。 |
| DPI / 缩放 | GetWindowDpiAwarenessScale、GetScaleFromWindows | 前者偏 DPI 感知;后者常与 图像识别 matchVal/scale 联动。 |
| 接口 | 用途 |
|---|
GetWindowTitle、GetWindowClass、GetWindowProcessPath、GetProcessInfo | 标题、类名、路径、进程详细信息。 |
GetWindowThreadId、GetWindowProcessId | 线程/进程 ID,用于注入、挂接等。 |
GetProcessIconImage | 取进程图标为图(常配合界面展示)。 |
| 接口 | 差异 |
|---|
SendString、SendStringEx | Ex 通常支持 编码/附加参数(见各页),向窗口发文本。 |
SetClipboard、GetClipboard、SendPaste | 剪贴板读写与 模拟粘贴。 |
| 接口 | 说明 |
|---|
ReleaseWindowsDll | 与注入/Hook 相关时的 卸载 场景,见详情页。 |
MoveWindow、SetWindowText、SetWindowTransparent | 移动、改标题、透明度。 |
| 需求 | 建议 |
|---|
| 后台截图 + 找图 | BindWindowEx + 配置截图模式 + 图像识别 MatchWindows* |
| 只取某控件区域坐标 | GetClientRect + ClientToScreen |
| 多开程序要选第 N 个窗口 | EnumWindow / FindWindowEx 循环,勿假设 FindWindow 唯一 |
更细的参数与 绑定模式表 以各接口详情页及 设置 中的键说明为准。