📦 Windows 桌面自动化 CLI
v0.1.0通过 winguictl CLI 自动化 Windows 桌面交互。当用户需要模拟点击、输入文本、按键、拖拽、截图、控制窗口等操作时调用。
运行时依赖
安装命令
点击复制技能文档
使用 winguictl 脚本实现 Windows 桌面自动化 本技能包含独立 CLI 脚本:scripts\winguictl.py —— Python CLI 入口(仅 Windows)
快速开始 # 列出窗口(含窗口状态、前台标志及层级缩进) python scripts\winguictl.py window list
# 控制窗口状态 python scripts\winguictl.py window --window-id focus python scripts\winguictl.py window --window-id minimize python scripts\winguictl.py window --window-id maximize python scripts\winguictl.py window --window-id restore python scripts\winguictl.py window --window-id move --x 100 --y 200 python scripts\winguictl.py window --window-id resize --width 800 --height 600
# 截图并保存 python scripts\winguictl.py screenshot --window-id --output artifacts\shot.png
# 获取窗口结构快照 python scripts\winguictl.py snapshot --window-id hwnd python scripts\winguictl.py snapshot --window-id uia python scripts\winguictl.py snapshot --window-id ocr
命令 详见文档: Window – 列出所有窗口,控制状态与位置 Snapshot – 获取窗口结构快照 Find – 在窗口内查找元素 Action – 执行交互操作 Control – 直接操控指定控件(Win32 与 UIA) Screenshot – 截取窗口图像 Driver Test – 驱动测试步骤
工作流
- 列出窗口并锁定目标 —— window list 以缩进显示父子层级;优先用精确 window-id。
- 交互前先用 window focus 将目标窗口置前。
- 用 minimize/maximize/restore/close/move/resize 调整窗口状态。
- 定位不明显时,用 snapshot hwnd/uia/ocr 检查结构。
- 优先使用 HWND 与 UIA 定位器,避免 OCR 与图像匹配。
- UIA 控件:先 snapshot uia 获取 automation_id 或 runtime_id,再用 uia-control 命令操作。
- Win32 控件:先 snapshot hwnd 获取控件 hwnd,再用 control 命令操作。
- 仅当文本未暴露于 UIA 或窗口文本时,才用 find ocr。
- 仅对图标、画布或自绘控件且无结构化定位器时,才用 find image / click-image。
- 以上皆不可用时,才考虑相对窗口坐标。
- 关键步骤前后截图。
- 返回结构化结果、产物路径及风险提示。
操作规则 坐标默认相对于窗口;工具另有说明除外。 需预览坐标或确认意图时加 --dry-run。 报告实际操作的确切窗口标题与 window_id。
依赖 Package Install Required Description Python 3.14+ — Yes 运行时 pywinauto pip install pywinauto Yes Windows GUI 自动化核心库 pywin32 pip install pywin32 Yes Win32 API Python 封装 Pillow pip install Pillow Yes 图像处理 wx-ocr pip install wx-ocr No 免外部依赖的微信 OCR opencv-python pip install opencv-python No 图像模板匹配
安全边界 仅用于用户自有软件、测试环境或已获授权的系统;禁止用于绕过第三方反机器人、验证码或其他无关安全机制。