AutoHotkey自动截图教程与脚本分享
本文详细介绍了如何利用AutoHotkey实现灵活多样的自动化截图操作,涵盖全屏捕获、区域选择、无依赖高效截图、定时批量截取以及剪贴板直传五种实用方案,既支持调用PowerShell和系统SnippingTool等原生工具,也提供基于GDI+的高性能纯脚本实现,所有方法均配有可直接运行的热键脚本与清晰配置步骤,助你一键触发、定时监控或无缝粘贴,大幅提升日常办公、开发调试与屏幕记录效率。

如果您希望使用AutoHotkey实现屏幕截图的自动化操作,例如通过热键触发或按设定时间间隔自动截取当前屏幕并保存为图片文件,则需借助外部命令行工具(如Windows内置的snippingtool、PowerShell命令)或调用GDI+函数。以下是几种可行的实现方法:
一、使用PowerShell命令调用截图并保存
该方法利用PowerShell的Add-Type加载.NET类库,调用Graphics类捕获整个屏幕,并以PNG格式保存到指定路径。脚本轻量、无需额外依赖,适用于Windows 7及以上系统。
1、按下Win+R,输入notepad,新建文本文件。
2、粘贴以下AutoHotkey代码:
^!s::
RunWait, PowerShell -Command "& {Add-Type -AssemblyName System.Drawing; $bmp = [Drawing.Bitmap]::New([Drawing.Screen]::PrimaryScreen.Bounds.Width, [Drawing.Screen]::PrimaryScreen.Bounds.Height); $gfx = [Drawing.Graphics]::FromImage($bmp); $gfx.CopyFromScreen(0, 0, 0, 0, $bmp.Size); $date = Get-Date -Format 'yyyyMMdd_HHmmss'; $path = \"$A_ScriptDir\\screenshot_$date.png\"; $bmp.Save($path, 'Png'); $bmp.Dispose(); $gfx.Dispose(); Write-Host 'Screenshot saved to $path'}", , Hide
3、将文件另存为Screenshot.ahk,确保编码为UTF-8无BOM。
4、双击运行该脚本,按下Ctrl+Alt+S即可执行一次全屏截图并保存至脚本所在目录。
二、使用SnippingTool.exe启动区域截图(Windows 10/11)
此方法调用系统自带的截图工具,适合需要手动框选区域的场景。脚本仅启动工具,不自动保存,但可配合后续按键模拟完成流程(需启用UI Automation支持)。
1、在AHK脚本中添加如下热键定义:
#s::Run, snippingtool.exe
2、保存后运行脚本,按下Win+S即可唤起截图工具。
3、若需进一步自动保存,可在SnippingTool启动后添加Sleep和Send指令模拟操作,例如:
#s::
Run, snippingtool.exe
Sleep, 500
Send, {Alt down}n{Alt up}
Return
三、使用GDI+函数实现无外部依赖截图
该方案完全基于AutoHotkey内置GDI+库(需提前下载Gdip.ahk并置于脚本同目录),不调用外部进程,截图速度快且可控性强,支持全屏、活动窗口、指定区域等多种模式。
1、下载Gdip.ahk标准库,放入与主脚本相同文件夹。
2、编写主脚本,开头加入:
#Include Gdip.ahk
3、定义热键及截图逻辑:
^!p::
If (!pToken := Gdip_Startup())
{
MsgBox, 48, gdiplus error, No permissions to run gdiplus. Please run the script as administrator.
Return
}
ScreenShot := Gdip_BitmapFromScreen("0,0|A_ScreenWidth|A_ScreenHeight")
$date := A_YYYY . A_MM . A_DD . "_" . A_Hour . A_Min . A_Sec
Gdip_SaveBitmapToFile(ScreenShot, A_ScriptDir . "\auto_" . $date . ".png")
Gdip_DisposeImage(ScreenShot)
Gdip_Shutdown(pToken)
Return
4、运行脚本后,按下Ctrl+Alt+P即可生成全屏截图并保存。
四、设置定时自动截图(每30秒一次)
该方法使用SetTimer指令周期性触发截图动作,适用于监控屏幕变化、录制操作过程等场景。每次截图文件名含时间戳,避免覆盖。
1、在脚本顶部添加全局变量声明:
StartTime := A_Now
2、添加定时器定义:
SetTimer, TakeScreenshot, 30000
3、定义TakeScreenshot标签:
TakeScreenshot:
$t := A_Hour . A_Min . A_Sec
Run, PowerShell -Command "Add-Type -AssemblyName System.Drawing; `$bmp = [Drawing.Bitmap]::New([Drawing.Screen]::PrimaryScreen.Bounds.Width, [Drawing.Screen]::PrimaryScreen.Bounds.Height); `$gfx = [Drawing.Graphics]::FromImage(`$bmp); `$gfx.CopyFromScreen(0, 0, 0, 0, `$bmp.Size); `$path = '$A_ScriptDir\\auto_`$t.png'; `$bmp.Save(`$path, 'Png'); `$bmp.Dispose(); `$gfx.Dispose()"
Return
4、运行脚本后,系统将每30秒自动生成一张截图,保存于脚本所在目录。
五、保存截图至剪贴板而非文件
某些工作流中只需临时获取截图内容用于粘贴,无需写入磁盘。此方法将位图直接送入系统剪贴板,兼容Paint、Word、微信等多数支持图像粘贴的应用。
1、在脚本中添加如下热键:
^!c::
RunWait, PowerShell -Command "& {Add-Type -AssemblyName System.Drawing; `$bmp = [Drawing.Bitmap]::New([Drawing.Screen]::PrimaryScreen.Bounds.Width, [Drawing.Screen]::PrimaryScreen.Bounds.Height); `$gfx = [Drawing.Graphics]::FromImage(`$bmp); `$gfx.CopyFromScreen(0, 0, 0, 0, `$bmp.Size); [System.Windows.Forms.Clipboard]::SetImage(`$bmp); `$bmp.Dispose(); `$gfx.Dispose()}"
2、运行脚本后,按下Ctrl+Alt+C即可将当前屏幕图像复制进剪贴板。
3、切换至目标应用,按Ctrl+V即可粘贴截图。
以上就是《AutoHotkey自动截图教程与脚本分享》的详细内容,更多关于autohotkey的资料请关注golang学习网公众号!
1688登录入口官网地址汇总
- 上一篇
- 1688登录入口官网地址汇总
- 下一篇
- 浮动布局在响应式中表现如何?
-
- 文章 · 软件教程 | 2天前 | 软件教程 · LibTV使用教程 影视团队AI创作指南 短视频制作流程 MCN内容生产工具 专业视频创作方法
- 影视团队怎么用LibTV?第一次完成真实任务的操作路线
- 425浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 环境变量 · 环境变量 Docker Compose Environment env_file
- Docker Compose区分 env_file 与 environment 覆盖关系的实现方法
- 336浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 软件教程 · MCN栏目视频交接方法 LibTV内容交付流程 视频审核回执整理规范 视频版本台账搭建 栏目复用模板制作指南
- MCN用LibTV做完栏目视频后怎么交接?整理审核回执、版本台账和复用模板
- 385浏览 收藏
-
- 文章 · 软件教程 | 2天前 | MCN用LibTV跑通内容 LibTV选题卡填写方法 LibTV镜头表制作规范 LibTV三关口审核流程 短视频内容生产实操教程
- MCN第一次用LibTV怎么跑通一条内容?从选题卡、镜头表到审核回传
- 304浏览 收藏
-
- 文章 · 软件教程 | 2天前 | LibTV专业视频交付方法 LibTV成片复核步骤 AI视频项目素材归档规范 专业视频交付修改说明指南 视频项目交付清单制作技巧
- LibTV做完专业视频后怎么交付?从成片复核、素材归档到修改说明
- 327浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 开发工具 · vs code · VS Code launch.json Compound 多目标调试
- VS Code 调试用 Compound 同时启动多个调试目标的实现方法
- 351浏览 收藏
-
- 文章 · 软件教程 | 2天前 | LibTV完整短片制作教程 专业视频创作者AI短片工作流 LibTV镜头清单制作方法 AI生成短片交付复盘步骤 智能台灯宣传短片制作案例
- 专业视频创作者第一次用LibTV怎么做完整短片?从镜头清单到交付复盘
- 356浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 墨刀AI原型需求对齐 AI生成UI原型排查方法 AI原型页面状态校验 UI原型改稿范围控制 墨刀AI实用技巧
- 墨刀AI做UI原型偏离需求怎么办?从输入约束、页面状态到改稿范围排查
- 241浏览 收藏
-
- 文章 · 软件教程 | 2天前 | vs code ·
- VS Code tasks为任务配置可复用输入变量的实现方法
- 500浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 墨刀AI新手做UI原型 墨刀AI原型制作完整步骤 设备巡检UI原型教程 墨刀AI页面清单制作 UI原型状态走查方法
- 墨刀AI新手如何做第一套UI原型?从页面清单到状态走查的完整步骤
- 485浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 墨刀AI需求文档补全 空泛PRD修正方法 产品经理PRD编写技巧 需求验收条件设置 业务规则梳理方法
- 墨刀AI生成的需求文档太空泛怎么办?从证据、业务规则和验收条件补齐内容
- 425浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 墨刀AI生成需求文档 PRD快速编写教程 产品经理AI写需求 墨刀PRD生成方法 AI评审稿修改技巧
- 墨刀AI如何生成第一份需求文档?从业务素材整理到评审稿修改
- 432浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 83次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 168次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 109次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 84次使用
-
- CMMLU
- 深入了解CMMLU中文评估基准,涵盖67个学科主题,提供数据集下载、Zero-shot/Five-shot评估方法及排行榜,助力优化中文语言模型性能。
- 61次使用
-
- VS Code 怎么给 Go 项目配置测试任务:tasks.json 运行与结果验收
- 2026-07-09 501浏览
-
- Windows 11 如何开启 HEIF 图片支持
- 2026-05-31 501浏览
-
- TikTok用户画像与付费订阅变现方法
- 2026-05-27 501浏览
-
- 学信网学历翻译件申请方法
- 2026-05-27 501浏览
-
- Windows 11 24H2 更新失败0x80070005解决方法
- 2026-05-26 501浏览

