Agent Skills
返回列表
远程桌面截图

远程桌面截图

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_00bc0e74/desktop-screenshot。

技能介绍

它解决什么问题

在 PowerShell 里截一张“真实尺寸”的桌面图,看起来只是几行脚本的事,实际踩坑率很高。显示器开了 125%/150% 缩放时,Screen.Bounds 返回的是逻辑尺寸,截图往往比物理分辨率小(比如拿到 2048×1152 而不是 2560×1440),右下角直接被裁掉。环境里如果存在 ACC_PRODUCT_CONFIG_V3 这类超大变量,Add-Type 编译子进程时会直接报“用于启动进程的环境块不能多于 65535 个字节”。Bitmap 构造偶尔抛“参数无效”,根因往往是传入的尺寸计算结果是 Object[],没有显式转成 [int]。这个技能把这些修复固化成一条可复用的流程。

核心能力

  • 多显示器拼接:汇集所有显示器的边界,合成一张全景 PNG,而不是只截主屏
  • DPI 感知:截图前调用 SetProcessDpiAwareness(2),确保拿到的是物理像素而非缩放后的逻辑尺寸
  • 环境变量清理:脚本开头清掉超过 4000 字节的变量,规避 64KB 进程环境块上限
  • 参数化输出:screenshot.ps1 支持 -OutputPath,默认输出当前目录的 desktop-screenshot.png

工作流程

  1. 执行截图脚本:把技能目录(默认 ~/.workbuddy/skills/desktop-screenshot)和当前工作区的绝对路径填进脚本,运行后生成 PNG
  2. 展示给用户:用 present_files 把图片发过去;也可以先用 Read 读一遍确认内容无误再发

触发方式很直白:用户说“截个桌面”“截屏发我”“抓个屏”“帮我截个图”这类任意表述时自动触发。

注意点

  • 清理超大变量必须在同一个脚本内完成。在外层 PowerShell 里改 $env:PATH 没有用,因为 Add-Type 的子进程继承的是整个进程环境块,不是单个变量
  • 所有传给 Bitmap 的尺寸都要显式 [int] 强转,否则 Object[] 会让构造函数报错
  • 调用时建议显式传工作区路径,保证截图落在用户能看见的目录里
  • 技术环境千差万别,脚本默认路径按 ~/.workbuddy/skills/desktop-screenshot 组织,换目录时要同步替换

使用场景

  • 开发环境配了 125% 缩放,截图总是小于物理分辨率,需要得到真实像素的桌面图
  • 工位上接了两台显示器,要一张拼接全景图发给同事排查 UI 问题
  • 机器里有超大环境变量导致 Add-Type 报错,需要先清理再截图
  • 远程排障时让对方发来当前桌面截图,确认实际显示状态

适合人员

  • Windows 桌面运维工程师,需要批量采集客户端真实桌面截图用于故障定界
  • 多屏开发环境用户,需要快速生成拼接全景图并分享给协作同事
  • 安全测试人员,需要在沙箱或远程会话中留存当前桌面状态作为取证记录
  • AI 智能体开发者,需要给 Agent 添加可靠的桌面截屏能力以完成多步骤任务