一个面向 Windows 本地使用的截图工具项目,当前以“源码 + 可直接运行 EXE 一起分发”的方式维护。
- 主程序:
ScreenCaptureTool_CN.exe - 静默启动脚本:
run_screen_capture_tool.vbs - 源码:
ScreenCaptureTool_CN.cs - 配置文件:
screen_capture_settings_native_cn.ini - 图标:
ScreenCaptureTool_CN.ico - 预览图:
ScreenCaptureTool_CN.png - 使用界面截图:
使用界面.png
- 支持全局快捷键自定义
- 支持区域截图和全屏截图
- 支持滚动截图(自动翻页拼接)
- 支持导出
png、jpg、bmp、gif、tiff - 支持开机启动
- 支持托盘常驻
- 支持截图后自动复制到剪贴板
- 支持截图后弹出预览窗口
- 预览窗口支持放大、缩小、100% 还原、
Ctrl + 滚轮缩放 - 支持在预览窗口中连续框选区域进行 OCR 识别
- OCR 识别结果会自动追加到输出框,并可复制到剪贴板
- OCR 识别前会自动进行外扩选区、放大与轻量增强,以提升小字和轻微偏移场景下的识别率
优先运行:ScreenCaptureTool_CN.exe
如需以脚本方式启动,可运行:run_screen_capture_tool.vbs
- 先运行主程序,确认托盘与截图功能正常
- 按需调整
screen_capture_settings_native_cn.ini中的相关设置 - 如需静默启动或加入启动项,再使用
run_screen_capture_tool.vbs
- 区域截图:使用已配置的截图快捷键进行区域选择
- 全屏截图:使用已配置的全屏截图快捷键
- 滚动截图:在目标窗口可响应
PageDown的前提下使用 - OCR 识别:在预览窗口内点击
OCR框选后,可连续框选多个目标区域执行识别 - OCR 退出:按
Esc或再次点击OCR框选按钮即可退出连续框选模式
- 程序运行配置文件为:
screen_capture_settings_native_cn.ini - 如需调整快捷键或相关行为,请优先备份原配置后再修改
- 版本
1.0视为此前确认可用的基础版 - 当前本地整理版本为正式版
v1.1 - 当前目录仅保留最新版本文件
- 后续如需回退或继续迭代,以
1.0需求集合作为基线继续调整
- 滚动截图依赖目标窗口能响应
PageDown翻页,适合网页、文档、聊天记录等纵向内容 - 当前仓库保留可直接运行的 EXE,便于本地使用和版本备份
- 如后续确认 EXE 可稳定由源码重建,再考虑调整分发与版本管理策略
- 日常桌面截图
- 文档与网页内容保存
- 聊天记录长图截取
- 局部 OCR 文字提取
当前项目以“源码 + 可直接运行 EXE 一起分发”的方式维护,便于本地直接使用与远程备份。若后续确认 EXE 可稳定由源码重建,再考虑是否调整版本管理策略。
滚动截图依赖目标窗口能响应 PageDown 翻页。如果目标程序不支持键盘翻页、页面存在特殊懒加载逻辑,或滚动区域不是当前焦点窗口,可能导致滚动截图效果不稳定。
先完成截图并打开预览窗口,点击 OCR框选 进入连续识别模式,再在预览窗口中框选目标区域进行 OCR 识别。每次识别结果都会自动追加到下方输出框,完成后可直接复制到剪贴板。按 Esc 或再次点击 OCR框选 可退出该模式。
当前项目已对 OCR 增加基础识别增强,包括自动外扩选区、放大和轻量图像增强。但底层仍使用 Windows 系统 OCR,因此在字体过小、背景复杂、边缘模糊或框选范围包含过多干扰内容时,仍可能出现错别字或漏字。建议尽量框住主要文字区域,避开图标、边框和复杂背景。
可以,但建议先备份 screen_capture_settings_native_cn.ini,再修改快捷键或相关行为设置。
仓库已补充 GitHub Actions 自动发布流程。
当你向远端推送符合 v* 规则的 tag 时,会自动创建 GitHub Release。
示例:
v1.0.1-trial→ 自动识别为 试用版 V1.0,并标记为预发布v1.1→ 自动识别为正式版V1.1
screen_capture_tool_<tag>.zipScreenCaptureTool_CN.exerun_screen_capture_tool.vbs
- 自动 Release 正文优先从
CHANGELOG.md中按 tag 对应区块自动抽取 - 工作流文件:
.github/workflows/release.yml RELEASE_BODY.md可继续保留为手工发布参考草稿
当前如需发布正式版 V1.1,只需在包含对应 CHANGELOG.md 条目的提交上推送 tag v1.1 即可。后续如要调整自动发布正文,直接编辑 CHANGELOG.md 中对应版本区块即可。
仓库已提供 PowerShell 发版脚本:scripts/release.ps1
同时提供批处理启动器:release.bat
双击 release.bat 时会进入交互模式,并在结束后自动暂停,避免窗口一闪而过。
使用前请先确保:
- 当前代码改动已提交完成,或工作区处于可发布状态
- 本地可正常执行
git
正式版示例:
./scripts/release.ps1 -Version 1.2试用版示例:
./scripts/release.ps1 -Version 1.2 -Trial也可以直接使用批处理启动器:
release.bat -Version 1.2
release.bat -Version 1.2 -Trial脚本会自动执行以下动作:
- 先显示本次发版确认摘要,并要求最终确认
- 检查工作区是否干净
- 检查
CHANGELOG.md中是否存在对应 tag 区块 - 如缺失且你传入
-InitChangelog,自动初始化版本区块并提交CHANGELOG.md - 推送当前分支到远端
- 创建并推送 tag
- 触发 GitHub Actions 自动发布流程
- 可选自动打开 GitHub Releases / Actions 页面
如果不传 -Version,脚本会自动进入交互模式,逐项询问:
- 版本号
- 是否试用版
- 是否自动初始化
CHANGELOG.md - 新增 / 修复 / 调整内容
- 是否自动打开 GitHub Releases / Actions 页面
- 最终是否确认执行发版
如需自动初始化 CHANGELOG.md 版本区块,可使用:
./scripts/release.ps1 -Version 1.2 -InitChangelog如需在初始化时直接写入更新内容,可使用:
./scripts/release.ps1 -Version 1.2 -InitChangelog -Added "新增功能 A","新增功能 B" -Fixed "修复问题 A" -Changed "界面调整"如果未提供 -Added、-Fixed、-Changed,脚本会自动写入 - 暂无 作为占位内容。
如需直接进入交互模式,可使用:
./scripts/release.ps1或:
release.bat如需发版完成后自动打开 GitHub 页面,可使用:
./scripts/release.ps1 -Version 1.2 -OpenWeb或:
release.bat -Version 1.2 -OpenWeb如需跳过推送当前分支,可使用:
./scripts/release.ps1 -Version 1.2 -SkipPushMain如需跳过发版前确认摘要与工作区干净检查,可使用:
./scripts/release.ps1 -Version 1.2 -Force详见:CHANGELOG.md
本仓库当前主要用于本地维护与远程备份。若后续持续迭代,可继续补充:
- 编译方式与依赖说明
- 更多使用示例
- 故障排查说明
