截取窗口
动作编号: 1503
动作名称: 截取窗口
动作作用的对象: 任意窗口
动作热键: ~!PrintScreen(Alt+PrintScreen)
动作鼠标手势: 无
动作说明: 窗口截图并存入脚本所在目录的截图目录中(带窗口标题栏和鼠标光标)
动作截图: 无
动作内容: run|”%B_Autohotkey%” “%A_ScriptDir%\外部脚本\窗口处理\截图并自动保存.ahk” “” “Window” “%Windy_CurWin_Id%” “1”
执行外部脚本文件 “截图并自动保存.ahk”, ATA 内置了该动作.
代码及详细解释:
截取当前窗口, 并自动保存到默认路径.
该动作使用的图片库是 ATA 内置的 Gdip. 修改了 Gdip_BitmapFromHWND 函数使其支持鼠标光标.
传递给脚本的参数:
参数 1, 截图保存文件的路径, 为空表示使用默认路径.
参数 2, 截图区域, 值为 “Window” 表示截图窗口.
参数 3, %Windy_CurWin_Id% 表示要截取窗口的句柄.
参数 4, 截图时是否带上鼠标光标, 值为 1 表示截图会带上光标.
截图图片自动保存的默认路径: \截图目录\截取屏幕_%当前时间%.png 或 \截图目录\截取窗口_%当前时间%.png 如, \截图目录\截取屏幕_20231005170118.png
截取窗口:
if !CandySel
CandySel := A_ScriptDir "\..\..\截图目录\截取窗口_" A_Now ".png"
WinActivate, ahk_id %Windy_CurWin_id%
pBitmap := Gdip_BitmapFromHWND(Windy_CurWin_id, , bCursor) ; 第2个参数为工作区域还是整个窗口, 默认为整个窗口
Gdip_SaveBitmapToFile(pBitmap, CandySel)
Gdip_DisposeImage(pBitmap)
Gdip_Shutdown(pToken)
return