Capturar ventanas

Iniciado por samuelhm, 19 Abril 2014, 15:52 PM

0 Miembros y 1 Visitante están viendo este tema.

samuelhm

Hola chicos, tengo una duda,
No acabo de encontrar que parte de la api, me permitiria en visual c++ capturar la imagen de una ventana (externa a mi programa).

Por si no se entiende, para windows es muy sencillo capturar una imagen de ventana ( pulsando alt + imp pant.) esto pasa la imagen al portapapeles, y se puede pegar por ejemplo en el paint.

A mi me gustaria que mi programa pudiera obtener la imagen de una ventana de otro programa sin pulsar las teclas, y poder trabajas sobre la imagen.

he estado mirando los codigos de este foro, pero no logro averiguar como obtener las coordenadas de una ventana abierta ajena a mi programa.
Gracias de antemano.

BlackM4ster

Usa windows api para Hookear la ventana, luego, con alguna librería, realiza la captura
- Pásate por mi web -
https://codeisc.com

samuelhm

Despues de trastear toda la tarde, he encontrado una forma super sencilla de encontrar la posicion de una ventana externa a tu aplicacion:
HWND ventana = FindWindow(NULL, "Nombre de la ventana");
RECT posicion;
GetWindowRect(ventana, &posicion);


Solo hay que saber el nombre de la ventana, y no hacer falta hooking ni historias.

xiruko

Cita de: BlackM4ster en 19 Abril 2014, 18:18 PM
Usa windows api para Hookear la ventana, luego, con alguna librería, realiza la captura

Para que querías hacer un hook a la ventana? Eso sirve para meterte en medio de todos los mensajes que recibe esa ventana, y no le encuentro relación a lo que pide el usuario...

Saludos.

BlackM4ster

Si hookeas la ventana, puedes sacar su posicion y usarla para capturar la pantalla
- Pásate por mi web -
https://codeisc.com