电脑操作

像人一样操作电脑:截屏看画面、移动/点击鼠标、输入文字、按键、滚动。适合操作没有接口的桌面软件、点窗体按钮、填写客户端表单。

电脑操作

结论先行

用 tools/screen-control.ps1 做机械动作,用截图做唯一可信的反馈。每一步之后都要截图确认,不要凭想象连续操作。

一、常用命令


$PS = "<产品仓库>\tools\screen-control.ps1"
$run = { param($a) powershell.exe -NoProfile -ExecutionPolicy Bypass -File $PS @a }

# 看当前状态:屏幕尺寸、鼠标位置、前台窗口列表
& $run @{ Action = 'info' }

# 截图(默认缩到 1600 宽,方便模型看)
& $run @{ Action = 'shot'; Out = "$env:TEMP\screen.png" }

# 移动 / 点击 / 双击 / 右键
& $run @{ Action = 'move';  X = 900; Y = 500 }
& $run @{ Action = 'click'; X = 900; Y = 500 }
& $run @{ Action = 'dblclick'; X = 900; Y = 500 }

# 打字(会转义特殊字符)
& $run @{ Action = 'type'; Text = 'hello' }

# 按键:^ 表示 Ctrl,% 表示 Alt,{ENTER}、{TAB}、{ESC}
& $run @{ Action = 'key'; Keys = '^s' }

# 滚动:正数向上,负数向下
& $run @{ Action = 'scroll'; Scroll = -3 }

所有动作返回 JSON:{"ok":true,...} 或 {"ok":false,"error":"..."}。

二、铁律(踩过坑总结)

| 铁律 | 原因 |

| --- | --- |

| 打字前必须先点击目标输入框,并截图确认光标在里面 | 有一次没确认,文字打进了用户正在编辑的文档 |

| 不要杀进程来关闭窗口 | 杀进程会丢掉用户未保存的内容;用 {ESC} 或界面里的取消按钮 |

| 每步之后截图 | 屏幕状态和你以为的不一样是常态 |

| 不要连续点击同一位置 | 容易误触;失败先截图看为什么 |

| 坐标基于整屏(1920×1080 这种),不是窗口坐标 | 截图里量出来的就是整屏坐标 |

三、绝对不做

| 禁止 | 说明 |

| --- | --- |

| 点支付、转账、确认订单 | 涉及钱的动作一律让人来 |

| 删除文件 / 清空回收站 | 不可逆 |

| 输入密码、验证码 | 让用户自己输 |

| 在未确认焦点的窗口里打字 | 可能污染用户文档 |

| 关闭用户正在编辑的窗口 | 会丢未保存内容 |

四、已验证记录(2026-11-07)

| 动作 | 结果 |

| --- | --- |

| info | 返回屏幕 1920×1080、光标坐标、前台窗口列表 |

| shot | 输出 PNG,588KB,画面完整 |

| move | 光标移动到指定坐标成功 |

| type | 输入 14 个字符成功(但当时焦点不在预期窗口,已按铁律补上"先确认焦点") |

| key | 发送 Ctrl+Z 成功 |

验收清单