---
name: luoke-window
description: '洛克王国：世界在 Windows 下的窗口定位技能：按标题列出/查找游戏窗口，获取 hwnd 与矩形信息，校验窗口存活状态，并在输入或截图前聚焦。仅用于游戏窗口选择与聚焦恢复，不用于通用桌面窗口管理。'
metadata:
  requires:
    platform: windows
    bins: ["python3"]
---

# 游戏窗口检测

**平台：仅 Windows** - 依赖 `pywin32`

在 Windows 上按标题定位并管理游戏窗口。

## 能力

- **列出窗口**：获取所有可见窗口
- **查找窗口**：按标题获取 HWND、位置和尺寸
- **聚焦窗口**：按 HWND 切换焦点到目标窗口
- **存活检查**：确认窗口仍存在且可见

## 用法

### 列出全部窗口

```bash
python3 {baseDir}/scripts/list_windows.py
```

**输出**：包含所有可见窗口 `hwnd` 和 `title` 的 JSON 数组。

### 查找指定窗口

```bash
python3 {baseDir}/scripts/find_window.py "洛克王国：世界"
```

**输出**（JSON）：
```json
{
  "hwnd": 123456,
  "title": "洛克王国：世界",
  "rect": {"left": 0, "top": 0, "right": 1920, "bottom": 1080},
  "visible": true
}
```

### 检查窗口状态

```bash
python3 {baseDir}/scripts/check_window_alive.py <hwnd>
```

返回窗口存活状态和窗口信息。退出码：存活为 0，不存活为 1。

## 参数说明

| 脚本 | 参数 | 类型 | 说明 |
|------|------|------|------|
| find_window.py | title | string | 窗口标题（支持部分匹配） |
| focus_window.py | hwnd | int | 来自 list/find 的窗口句柄 |
| check_window_alive.py | hwnd | int | 需要检查的窗口句柄 |

## 错误处理

- 未匹配到窗口时返回 `{"error": "Window not found"}`
- 匹配到多个窗口导致歧义时返回 `{"error": "Multiple windows found"}`
