Visual Basic.NET - Capturar ventana de programa en PictureBox

 
Vista:
sin imagen de perfil
Val: 229
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Capturar ventana de programa en PictureBox

Publicado por José Vicente (113 intervenciones) el 11/11/2021 11:15:53
Hola, estoy intentando capturar la ventana de mi programa y mostrarla en un PictureBox dentro de la misma. El PictureBox ya tiene una imagen previa que se debería cambiar al hacer la captura de pantalla, pero no me hace nada. Este es mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'CAPTURAR, GUARDAR Y MOSTRAR LA IMAGEN EN EL PICTUREBOX
        'PRIMERO CERRAMOS SI ESTÁ ABIERTO EL PICPICK
 
        Dim procesos As Process() = Process.GetProcessesByName("picpick")
 
        If procesos.Length > 0 Then
 
            For i = procesos.Length - 1 To 0 Step -1
 
                procesos(i).Kill()
 
            Next
 
            MessageBox.Show("PICPICK SE HA CERRADO.", " PROCESO CERRADO ", MessageBoxButtons.OK, MessageBoxIcon.Information)
 
            'CAPTURAMOS LA IMAGEN
 
            Dim finestra As Bitmap
 
            System.Threading.Thread.Sleep(500)
 
            SendKeys.Send("%{PRTSC}")
            finestra = CType(Clipboard.GetDataObject().GetData("Bitmap"), Bitmap)
            finestra.Save("D:\Documentos\Escaneados\Informe_medico_infarto_2019\Tensión\tension.png", ImageFormat.Png)
 
            PictureBox1.Image = finestra
 
            'SEGUNDA PASADA POR SI EN LA PRIMER NO LA HA CAPTURADO
 
            System.Threading.Thread.Sleep(500)
 
            SendKeys.Send("%{PRTSC}")
            finestra = CType(Clipboard.GetDataObject().GetData("Bitmap"), Bitmap)
            finestra.Save("D:\Documentos\Escaneados\Informe_medico_infarto_2019\Tensión\tension.png", ImageFormat.Png)
 
            PictureBox1.Image = finestra
 
            'GUARDAMOS LA IMAGEN
 
            Dim imagen As Image = PictureBox1.Image
            imagen.Save("D:\Documentos\Escaneados\Informe_medico_infarto_2019\Tensión\tension.png", System.Drawing.Imaging.ImageFormat.Png)
 
        Else MessageBox.Show("GUARDADA CAPTURA DE PANTALLA.", " CAPTURA DE PANTALLA ", MessageBoxButtons.OK, MessageBoxIcon.Information)
 
        End If
¿Podéis echarme una mano, chicos? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder