Thought i’d post this as it came in handy on a recent project i was involved in. You may need to tweak the offsets if the form is a child of a parent form.
[codesyntax lang=”vbnet”]
Private Sub GetScreenshot()
Dim graph As Graphics = Nothing
Try
Dim frmleft As System.Drawing.Point = Me.Bounds.Location
Dim bmp As New Bitmap(Me.Bounds.Width + 10, Me.Bounds.Height + 10)
graph = Graphics.FromImage(bmp)
Dim screenx As Integer = frmleft.X
Dim screeny As Integer = frmleft.Y
graph.CopyFromScreen(screenx - 5, screeny + 45, 0, 0, bmp.Size)
bmp.Save("c:\screenshot.png")
Application.DoEvents()
System.Threading.Thread.Sleep(2000)
bmp.Dispose()
graph.Dispose()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
[/codesyntax]
Leave a reply