Taking a screenshot from a .Net app is very easy. The function to use is the CopyFromScreen function from the Graphics class.
Dim b As Bitmap
'Hide the form, so it doesn't show in the screenshot
Me.Hide()
b = New Bitmap(My.Computer.Screen.WorkingArea.Width, _
My.Computer.Screen.WorkingArea.Height, _
Imaging.PixelFormat.Format32bppArgb)
Dim g As Graphics = Graphics.FromImage(b)
g.CopyFromScreen(New Point(0, 0), New Point(0, 0), _
New Size(My.Computer.Screen.WorkingArea.Width, _
My.Computer.Screen.WorkingArea.Height))
'Show the form again
Me.Show()
'Save the file
Dim ofd As New SaveFileDialog ()
ofd.Filter = "(*.bmp)|*.bmp"
If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
b.Save(ofd.FileName)
End If
Colorized by: CarlosAg.CodeColorizer