SkillHub

windows-screenshot

v1.0.3

Pure PowerShell GDI+ screenshot tool for Windows. No external dependencies, captures to PNG with automatic scaling.

Sourced from ClawHub, Authored by vvxer

Installation

Please help me install the skill `windows-screenshot` from SkillHub official store. npx skills add vvxer/windows-screenshot

Windows 屏幕截图

一个纯 PowerShell 的屏幕截图工具,使用 GDI+ 捕获 Windows 屏幕。

特性

  • 纯 PowerShell - 无需外部依赖
  • GDI+ 图像库 - 高效的系统级屏幕捕获
  • 多屏支持 - 捕获主屏幕
  • 自动缩放 - 根据屏幕 DPI 自适应分辨率
  • PNG 输出 - 24-bit 彩色图像
  • 开源 - GitHub 源码 MIT-0 许可证

源代码透明性

本技能的所有代码都完全开放在 GitHub 上,可供审查:

  • 📝 screenshot.ps1 完整源码
  • 📖 完整项目文档
  • 📋 MIT-0 许可证

不是"下载执行"的方式。脚本代码是自包含的,在技能包中可直接审查。

脚本文件说明

本技能包中包含 screenshot.txt(PowerShell 脚本内容)。使用时: 1. 将 screenshot.txt 复制或重命名为 screenshot.ps1 2. 在 PowerShell 中执行:powershell -File screenshot.ps1

或者直接使用 GitHub 仓库中的脚本。

环境变量

脚本会自动检查以下环境变量(可选):

  • OPENCLAW_MEDIA_DIR - 自定义输出目录
  • 若未设置,默认使用 $USERPROFILE.openclawmedia
  • 脚本会自动创建此目录

设置环境变量示例

PowerShell:

$env:OPENCLAW_MEDIA_DIR = "C:MyScreenshots"
powershell -File screenshot.ps1

Command Prompt:

set OPENCLAW_MEDIA_DIR=C:MyScreenshots
PowerShell -File screenshot.ps1

使用方法

方法 1:直接执行

powershell -File screenshot.ps1

输出:

MEDIA:C:UsersYourUsername.openclawmediascreenshot_YYYYMMDD_HHMMSS.png

方法 2:通过 OpenClaw

openclaw exec powershell -File screenshot.ps1

方法 3:发送到 Telegram(需要配置环境变量)

# 步骤 1:捕获截图
openclaw exec powershell -File screenshot.ps1

# 步骤 2:发送(需要 TELEGRAM_BOT_TOKEN 和用户 ID)
openclaw message send --channel telegram --target YOUR_USER_ID --media /path/to/screenshot.png

输出

脚本将截图保存为 PNG:

.openclaw/media/screenshot_YYYYMMDD_HHMMSS.png

并输出 MEDIA: 前缀路径用于后续处理。

技术细节

属性
图像库 System.Drawing (GDI+)
格式 PNG 24-bit
分辨率 自适应(根据屏幕缩放)
文件大小 通常 50-200 KB
依赖 .NET Framework 4.x+(Windows 内置)

故障排查

问题 解决方案
"找不到类型 System.Drawing" 在 .NET Framework 4.x+ 上运行(Windows 默认)
图像全黑 检查屏幕/GPU 状态;确保不在锁屏
文件名冲突 脚本使用时间戳自动避免重复

许可

MIT-0 - 无署名、无限制使用、修改和分发。


安全声明

所有代码都是开源的且经过审查 - 脚本功能:捕获屏幕内容到 PNG 文件 - 数据处理:仅保存到本地 .openclaw/media 目录 - 网络请求:无(除非显式使用 Telegram 集成) - 隐私:仅在用户明确调用时执行

源码:https://github.com/vvxer/windows-screenshot