我正在使用以下代码仅捕获指定的应用程序区域:
'find running instance of calculator
Dim p As Process = Process.GetProcessesByName("calc").FirstOrDefault
If p IsNot Nothing Then
'bring window to front
AppActivate(p.Id)
'get location + size of window
Dim r As New RECT
GetWindowRect(p.MainWindowHandle, r)
'create new bitmap + copy calc window
Dim img As New Bitmap(r.right - r.left, r.bottom - r.top)
Dim gr As Graphics = Graphics.FromImage(img)
gr.CopyFromScreen(New Point(r.left, r.top), Point.Empty, img.Size)
'save image + launch in default viewer
img.Save("test.png", Drawing.Imaging.ImageFormat.Png)
Process.Start("test.png")
End If
它在捕获正确的应用程序方面做得很好,但我试图只捕获该应用程序中的 #2 按钮,而不是整个应用程序屏幕。
我知道在应用程序中按钮的位置:距左侧 97 像素 距顶部 189 像素
#2 按钮本身的大小是:36 像素宽 29 像素高
但是无论我把这些点放在哪里,我都无法让它与上面的当前代码一起工作。