Autor
|
Tema: [AYUDA] Capturar screen de una ventana X (Leído 3,232 veces)
|
unish
|
Amigos, que tal...
Lo que estoy intentando es mostrar en un picturebox una captura de una ventana X, para esto estoy obteniendo el handle de la ventana que necesito y luego de varias funciones obtengo lo que quiero.
Pero tengo un problema.. Para hacer esto me basé en un ejemplo que tomaba la captura de la ventana activa. Pero en vez de mandarle el handle de la ventana activa, le mando el de la ventana que quiero.
Pero si dicha ventana no está activa, sale la que está arriba de ésta. Por ejemplo, yo tengo abierto Opera y abajo bloc de notas, y quiero una captura de bloc de notas... En la captura sale la parte que ocupa bloc de notas, en opera.
Espero que me puedan entender. ¿Alguien sabe como tomar una captura de una ventana X?
Gracias.
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Capturar una ventana no activa? No creo que puedas ... bueno, yo al menos no lo consegui... talvez con su hdc... no se... pero siempre puedes ponerla activa SetForeGroundWindow()Saludos
|
|
|
En línea
|
|
|
|
SONIC88
Desconectado
Mensajes: 100
|
mmm pienso lo mismo que Karcrack ya que la zona que no esta activa o esta detrás de otra ventana esta deja de pintarse, así es que veo difícil capturarla si no esta activa.
Edito: aunque he visto un programa que hace eso, excepto cuando están minimizadas, este se llama TaskSwitchXP... quizá lo conozcan...
SALUDOS.
|
|
« Última modificación: 29 Abril 2009, 22:23 pm por SONIC88 »
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
mmm pienso lo mismo que Karcrack ya que la zona que no esta activa o esta detrás de otra ventana esta deja de pintarse, así es que veo difícil capturarla si no esta activa.
Edito: aunque he visto un programa que hace eso, excepto cuando están minimizadas, este se llama TaskSwitchXP... quizá lo conozcan...
SALUDOS.
Cierto, aunque la ventana este tapada por otra la obtiene entera Imagino que trabaja con el hdc... Sera cuestion de Debuggear
|
|
|
En línea
|
|
|
|
LeandroA
|
Estaba a punto de decir que no se podía y me iba a jugar la cabeza cosa que la tengo grande , pero probé el programa y me cerro la boca así que me quede caliente en saber como era y estuve como 2 horas buscando y sabia que venia por el lado de WM_PRINT pero este solo trabaja de forma interna así que lo que hice fue buscar el nombre del autor del programa mas WM_PRINT y TATAN!!! era una pelotudez Barbara Option Explicit Private Declare Function PrintWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long Const PW_CLIENTONLY = &H1
Private Sub Command1_Click() PrintWindow Handle, Me.hDC, 0 End Sub
pero bueno la verdad me gusto esto se me ocurren un par de cosas para usarlo y tampoco tenia idea como era la cosa con WM_PRINT Saludos
|
|
|
En línea
|
|
|
|
ssccaann43 ©
Desconectado
Mensajes: 792
¬¬
|
Estaba a punto de decir que no se podía y me iba a jugar la cabeza cosa que la tengo grande , pero probé el programa y me cerro la boca así que me quede caliente en saber como era y estuve como 2 horas buscando y sabia que venia por el lado de WM_PRINT pero este solo trabaja de forma interna así que lo que hice fue buscar el nombre del autor del programa mas WM_PRINT y TATAN!!! era una pelotudez Barbara Option Explicit Private Declare Function PrintWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long Const PW_CLIENTONLY = &H1
Private Sub Command1_Click() PrintWindow Handle, Me.hDC, 0 End Sub
pero bueno la verdad me gusto esto se me ocurren un par de cosas para usarlo y tampoco tenia idea como era la cosa con WM_PRINT Saludos Solo una palabra Leandro... BRILLANTEEso está excelente...
|
|
|
En línea
|
- Miguel Núñez Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio... "I like ^TiFa^"
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Gran hallazgo Leandro!
|
|
|
En línea
|
|
|
|
SONIC88
Desconectado
Mensajes: 100
|
Solo me queda decir "eres un GRANDE", jaja, muy bien LEO... SALUDOS!!
|
|
|
En línea
|
|
|
|
|
|