Я использую следующий код, чтобы захватить только область приложения указанная:экрана область захвата применения
'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 пикселей высота
Но я не смог получить это, чтобы работать с текущим кодом выше, независимо от того, где я помещаю эти точки.
Yep, что сделал трюк, Рафаэль! Благодарю. – StealthRT