![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Creo que la respuesta no esta por el camino habitual (obtener el dc y copiar), creo que la respuesta debes buscarla en los mensajes WM_PRINT y WM_PRINTCLIENT. Estos mensajes se utilizan para pedir a una ventana que se dibuje en un dc determinado. Es decir, primero crearíamos un bitmap y luego enviaríamos el mensaje WM_PRINT a la ventana usando el dc de ese bitmap, entonces la ventana se dibujaría dentro del bitmap.
No lo he probado, pero por ahí puedes buscar código con esos mensajes para orientarte. De todas formas no siempre se obtiene un buen resultado, la ventana tiene que manejar ese mensaje y no todas lo hacen. Bueno, tampoco te aclare mucho la cuestión, pero te dejo algo por donde empezar a buscar. |
|
#2
|
||||
|
||||
|
Solo añadir este articulo que trata sobre el tema, yo lo seguí hasta que inyecto el código en el proceso de la ventana a copiar, pero cunado se puso a hacer hook en funciones de la API ya me perdí. Mucha complicación me parece, solo para copiar una ventana.
http://www.fengyuan.com/article/wmprint.html Si se puede saber, ¿que contiene esa ventana? ¿que información necesitas de ella?, lo digo porque, a no se que la ventana utilice alguna función de dibujo, puede que sea mas fácil capturar su contenido por otros medios. E incluso si hace falta recomponer nosotros mismos la ventana. |
|
#3
|
||||
|
||||
|
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#4
|
||||
|
||||
|
Cita:
Caramba, justo ahora me disponía a preguntarte esto mismo. Me lees el pensamiento. Si la ventana solo tiene componentes estándar (botones, edits, etc) la podemos capturar usando WM_PRINT, eso si, con la consiguiente inyección de código en el proceso al que pertenece la ventana, ya que WM_PRINT solo funciona con ventanas de tu mismo proceso. Todo esto sin hacer un hook en las funciones de la API BeginPaint y EndPaint. Lo digo, porque esto ultimo es lo que a mi se me hace mas complicado. Para la inyección de código estaba pensando en un hook del tipo WH_CALLWNDPROC, técnica que ya describí en un par de mensajes. Estaría bien utilizarla para algo serio por una vez ![]() |
|
#5
|
||||
|
||||
|
Cita:
Hay bastantes más, pero me quedé atascado ahí... En cuanto al hook también había leído, pero lo estaba dejando de lado, porque me da muuuuuucha pereza meterme en ese "fregao".
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Capturar imagen de ventana | pablo | Gráficos | 7 | 23-02-2017 10:04:42 |
| Como averiguar que ventana de windows esta activa? | JuanErasmo | API de Windows | 5 | 17-04-2006 21:47:40 |
| Ventana Activa | brandolin | OOP | 1 | 06-02-2006 23:46:43 |
| Capturar ventana activa y guardarla | StartKill | Gráficos | 4 | 15-10-2004 16:45:31 |
| cual es la carpeta de la ventana activa | chavetaz | API de Windows | 7 | 02-01-2004 21:24:31 |
|