如何使用 AutoHotkey 捕获鼠标周围的小屏幕截图(包括光标)?

问题描述 投票:0回答:1
我制作了一个

AutoHotkey 脚本来点击一些横幅,它会在 Telegram 上向我发送其点击的照片。当然,我用于裁剪屏幕截图的 x1,y1,x2,y2

 坐标是变量并经过计算的。我对 ScreenCapture 的坐标有问题,对 GDI+ 的鼠标光标有问题 😂

在 GDI+ 中工作得很好,但我没有找到

任何方法来捕获鼠标,如果不用图片替换它的话。 (也许......但这有点棘手,因为我需要它点击的精确点)。

CaptureScreen 相反提供了捕获鼠标的可能性,但是我对 x1,x2,y1,y2

 变量有问题。尝试了各种方法都没有机会!如何解决这个问题?我的代码如下。

使用GDI+

这是工作代码:

picx := 150, picy := 150, picx2 := 400, picy2 := 400 pToken := Gdip_Startup() snap := Gdip_BitmapFromScreen( picx "|" picy "|" picx2 "|" picy2 ) Gdip_SaveBitmapToFile(snap, "Shot.png") Gdip_DisposeImage(snap)

CaptureScreen.ahk

F1:: MouseGetPos, x, y mouseareax := 150 mouseareay := 250 picx := x-mouseareax picy := y-mouseareax picx2 := x+mouseareax picy2 := y+mouseareay if (picx < 0) { picx2 := picx2 - picx picx := 0 } else if (picx2 > A_ScreenWidth ){ picx := picx - (picx2 - A_ScreenWidth) picx2 := 0 } if (picy < 0) { picy2 := picy2 - picy picy := 0 } else if (picy2 > A_ScreenHeight ){ picy := picy - (picy2 - A_ScreenHeight) picy2 := 0 } capturecoords := """" picx ", " picy ", " picx2 ", " picy2 """" msgbox, %capturecoords% msgbox, CaptureScreen( %capturecoords%, 1, "screen.png")
第一个消息框:

第二个Magbox:

结果: 文件未生成。

注意:脚本会考虑屏幕尺寸,以便在角落中图像始终具有相同的尺寸,当不在角落时,鼠标将居中于图像(以便进行良好的缩放)。

还尝试过:

msgbox, CaptureScreen( "%picx%, %picy%, %picx2%, %picy2%", 1, "screen.png")
它提供了精确的语法(如第二个消息框图像),但不起作用。

screenshot autohotkey gdi+ screen-capture
1个回答
0
投票
CaptureScreen(picx ", " picy ", " picx2 ", " picy2, 1, "screen.png")
    
© www.soinside.com 2019 - 2024. All rights reserved.