Non volendo usare le API, si potrebbe:

codice:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Hide()
        System.Threading.Thread.Sleep(250)
        Dim myEncoder As New EncoderParameters(1)
        myEncoder.Param(0) = New EncoderParameter(Encoder.Quality, 100)
        Dim bmp As Bitmap = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
        Dim g As Graphics = Graphics.FromImage(bmp)
        g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, _
                         Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy)
        g.Dispose()
        bmp.Save("C:\screen.jpg", MyCodec, myEncoder)
        Me.Show()
    End Sub

    Private Function MyCodec() As ImageCodecInfo
        Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders
        For Each codec As ImageCodecInfo In codecs
            If (codec.MimeType = "image/jpeg") Then
                Return codec
            End If
        Next
        Return Nothing
    End Function