Windows 屏幕截图
一个纯 PowerShell 的屏幕截图工具,使用 GDI+ 捕获 Windows 屏幕。
特性
- - ✅ 纯 PowerShell - 无需外部依赖
- ✅ GDI+ 图像库 - 高效的系统级屏幕捕获
- ✅ 多屏支持 - 捕获主屏幕
- ✅ 自动缩放 - 根据屏幕 DPI 自适应分辨率
- ✅ PNG 输出 - 24-bit 彩色图像
- ✅ 开源 - GitHub 源码 MIT-0 许可证
源代码透明性
本技能的所有代码都完全开放在 GitHub 上,可供审查:
这不是"下载执行"的方式。脚本代码是自包含的,在技能包中可直接审查。
脚本文件说明
本技能包中包含 screenshot.txt(PowerShell 脚本内容)。使用时:
- 1. 将
screenshot.txt 复制或重命名为 INLINECODE2 - 在 PowerShell 中执行: INLINECODE3
或者直接使用 GitHub 仓库中的脚本。
环境变量
脚本会自动检查以下环境变量(可选):
- -
OPENCLAW_MEDIA_DIR - 自定义输出目录
- 若未设置,默认使用
$USERPROFILE\.openclaw\media
- 脚本会自动创建此目录
设置环境变量示例
PowerShell:
CODEBLOCK0
Command Prompt:
CODEBLOCK1
使用方法
方法 1:直接执行
CODEBLOCK2
输出:
CODEBLOCK3
方法 2:通过 OpenClaw
CODEBLOCK4
方法 3:发送到 Telegram(需要配置环境变量)
CODEBLOCK5
输出
脚本将截图保存为 PNG:
CODEBLOCK6
并输出 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
Windows 屏幕截图
一个纯 PowerShell 的屏幕截图工具,使用 GDI+ 捕获 Windows 屏幕。
特性
- - ✅ 纯 PowerShell - 无需外部依赖
- ✅ GDI+ 图像库 - 高效的系统级屏幕捕获
- ✅ 多屏支持 - 捕获主屏幕
- ✅ 自动缩放 - 根据屏幕 DPI 自适应分辨率
- ✅ PNG 输出 - 24-bit 彩色图像
- ✅ 开源 - GitHub 源码 MIT-0 许可证
源代码透明性
本技能的所有代码都完全开放在 GitHub 上,可供审查:
这不是下载执行的方式。脚本代码是自包含的,在技能包中可直接审查。
脚本文件说明
本技能包中包含 screenshot.txt(PowerShell 脚本内容)。使用时:
- 1. 将 screenshot.txt 复制或重命名为 screenshot.ps1
- 在 PowerShell 中执行:powershell -File screenshot.ps1
或者直接使用 GitHub 仓库中的脚本。
环境变量
脚本会自动检查以下环境变量(可选):
- - OPENCLAWMEDIADIR - 自定义输出目录
- 若未设置,默认使用 $USERPROFILE\.openclaw\media
- 脚本会自动创建此目录
设置环境变量示例
PowerShell:
powershell
$env:OPENCLAWMEDIADIR = C:\MyScreenshots
powershell -File screenshot.ps1
Command Prompt:
cmd
set OPENCLAWMEDIADIR=C:\MyScreenshots
PowerShell -File screenshot.ps1
使用方法
方法 1:直接执行
powershell
powershell -File screenshot.ps1
输出:
MEDIA:C:\Users\YourUsername\.openclaw\media\screenshotYYYYMMDDHHMMSS.png
方法 2:通过 OpenClaw
bash
openclaw exec powershell -File screenshot.ps1
方法 3:发送到 Telegram(需要配置环境变量)
bash
步骤 1:捕获截图
openclaw exec powershell -File screenshot.ps1
步骤 2:发送(需要 TELEGRAMBOTTOKEN 和用户 ID)
openclaw message send --channel telegram --target YOUR
USERID --media /path/to/screenshot.png
输出
脚本将截图保存为 PNG:
.openclaw/media/screenshotYYYYMMDDHHMMSS.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