Private Function CaptureScreen() As Image
'Declaramos un rectangulo llamado limites
Dim Limites As Rectangle
'Decalaramos un mapa de bits para almacenar nuestro resultado
Dim Captura As System.Drawing.Bitmap
'Declaramos un grafico para obtener la captura
Dim graph As Graphics
'El rectangulo tiene el tamaño de nuestra pantalla
Limites = Screen.PrimaryScreen.Bounds
'Creamos el nuevo bitmap con el tamaño del rectangulo
Captura = New System.Drawing.Bitmap(Limites.Width, Limites.Height, _
System.Drawing.Imaging.PixelFormat.Format32bppArgb)
'Guardamos el resultado en el grafico
graph = Graphics.FromImage(Captura)
'Obtenemos la imagen dentro de nuestra pantalla a nuetro grafico
graph.CopyFromScreen(Limites.X, Limites.Y, 0, 0, Limites.Size, CopyPixelOperation.SourceCopy)
'Devolvemos la imagen
Return Captura
End Function
Despues de esto tan solo habria que llamar la funcion de la siguiente forma:
PictureBox1.image = CaptureScreen()
Con esta funcion nos evitamos utilizar las APIs y lo hacemos mediante graficos, sencillo y eficaz
Probado en Visual Basic.Net 2008
No hay comentarios:
Publicar un comentario