2008-11-11 10 views
6

Estoy escribiendo una especie de aplicación de grabación de pantalla para Windows y deseo saber cuándo y qué regiones de la pantalla/ventana activa han cambiado.API para obtener cambios en la región de la pantalla?

¿Hay una API de Windows que pueda engancharse para recibir notificaciones de cambios en la pantalla?

¿O tendría que escribir manualmente algo como this? :(

Siempre pensé que de escritorio remoto utiliza algún tipo de API para detectar qué regiones de la pantalla habían cambiado y sólo enviado de vuelta esas imágenes - esto es exactamente el comportamiento que necesito

Respuesta

1

Creo escritorio remoto. arroyos GDI como comandos. no sé cómo los capturan en el primer lugar.

4

no creo que hay una API de Windows que le puede decir qué partes de la pantalla han cambiado.

Una forma posible es usar un video mirror driver, como usa UltraVNC.

2

Parecería que vas a tener que hacer un poco de trabajo para detectar los cambios de pantalla. Esta publicación en tech-archive.net, por ejemplo. Con esto puedes copiar a la RAM una pantalla de referencia y luego tomar otra y comparar las dos. Depende de ti definir qué tipo de cambio es significativo. Es material similar a este artículo en desktop capture.

0

Gracias por su ayuda a todos. Terminé escribiendo una clase de diferenciación de imágenes que parece calcular los rectángulos cambiados sorprendentemente rápido. He publicado la esencia de cómo funciona here.

Por el momento solo lo hago en un temporizador pero planeo hacerlo después de los eventos de entrada también.

Muchísimas gracias por sus enlaces Boost - Acabo de volver a mirar este hilo para verlo pronto.

Cuestiones relacionadas