Foros del Web » Programación para mayores de 30 ;) » .NET »

capturar ventana activa, funciona pero...

Estas en el tema de capturar ventana activa, funciona pero... en el foro de .NET en Foros del Web. Hola, el siguiente código me funciona, pero la pega, que no es pequeña es la siguiente. Lanzo el código y no captura nada. Lo lanzo ...
  #1 (permalink)  
Antiguo 17/09/2010, 07:51
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años, 7 meses
Puntos: 3
Pregunta capturar ventana activa, funciona pero...

Hola, el siguiente código me funciona, pero la pega, que no es pequeña es la siguiente. Lanzo el código y no captura nada.
Lo lanzo otra vez, y muestra lo que debió mostrar la anterior vez, y así sucesivamente.

Código:
        Me.Hide()
        System.Threading.Thread.Sleep(Me.NumericUpDown1.Value * 1000)
        SendKeys.Send("%{PRTSC}")
        Dim img As Bitmap = My.Computer.Clipboard.GetImage
        Me.PictureBox1.Image = img
        Me.Show()
debería mostrar la ventana captura actualmente, no la de la vez anterior, no?

gracias
  #2 (permalink)  
Antiguo 17/09/2010, 08:26
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: capturar ventana activa, funciona pero...

Agrega

Application.DoEvents()
donde tu creeas que lo ocupes

ejemplo

System.Threading.Thread.Sleep(Me.NumericUpDown1.Va lue * 1000)
SendKeys.Send("%{PRTSC}")
Dim img As Bitmap = My.Computer.Clipboard.GetImage
Me.PictureBox1.Image = img
Application.DoEvents()
Me.Show()
  #3 (permalink)  
Antiguo 17/09/2010, 10:37
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: capturar ventana activa, funciona pero...

Nada, lo he probado pero sigue igual la cosa.

Creo que es por evento %{PRTSC}

ya que la captura de la pantalla completo es con {PRTSC} y funciona perfectamente, osea que.... es por el sendkeys y el %{PRTSC}
  #4 (permalink)  
Antiguo 18/09/2010, 02:25
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: capturar ventana activa, funciona pero...

Es gracioso, porque si las 3 últimas líneas del código las meto en otro sub, y a ese sub lo llamo desde un botón todo correcto, pero si ese sub lo llamo mediante código, NO.

Osea que.... no entiendo eso
  #5 (permalink)  
Antiguo 18/09/2010, 09:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: capturar ventana activa, funciona pero...

En el evento Click un botón, poner esto:
Código vb.net:
Ver original
  1. Dim oImagen As Image = GetWindowCapture()
  2.         oImagen.Save(oFile, Imaging.ImageFormat.Jpeg)
Donde oFile es una variable stringo con el nombre del archivo con la ruta completa donde se grabará.

A esto hay que agregarle el método:
Código vb.net:
Ver original
  1. Public Function GetWindowCapture() As Image
  2.         Dim objTecla As SendKeys
  3.         Dim oBitmap As Bitmap
  4.         objTecla.SendWait("%{PRTSC}")
  5.         Dim objClipboard As IDataObject = Clipboard.GetDataObject()
  6.         Return objClipboard.GetData(DataFormats.Bitmap)
  7.     End Function
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:02.