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

Rispondi quotando