2011-05-26 23 views
8

He estado jugando con la captura de pantalla por un tiempo ahora y me las arreglé para capturar toda la pantalla, ciertas áreas de la pantalla, etc ...C# Captura de pantalla Direct 3D

Pero cuando voy a un juego y tratar para capturar la pantalla, ignora por completo el juego y, en su lugar, captura el escritorio (o lo que está detrás de la ventana del juego). Otro hecho interesante es que ocurre lo mismo con el botón PrtScn.

¿Alguna idea sobre cómo capturar la pantalla de un juego?

Respuesta

7

La técnica de captura de pantalla que está utilizando funciona bien para capturar cosas que no son aceleradas por hardware. Sospecho que tendrías el mismo problema al tratar de capturar un fotograma de película en Windows Media Player.

La solución es hacer una captura de pantalla desde el hardware usando DirectX. This article explica cómo hacerlo con un código y un contenedor administrado alrededor de DirectX llamado SlimDX.

EDITAR Si Delgado DX no funciona para usted, entonces sólo tendría que encontrar otro contenedor administrado alrededor de Direct X. No creo que va a ser capaz de hacer la captura de pantalla sin trabajando en el nivel de hardware, y DirectX es el medio de hacerlo en la plataforma de Windows.

+0

Requiere SlimDX que no es muy bueno porque tendrías que instalarlo donde sea que vayas. –

+1

@Or Betsalel No es necesario que use el instalador. También puede distribuir los binarios SlimDX junto con su aplicación. La única razón por la que SlimDX tiene un instalador es instalar también el tiempo de ejecución de DirectX de Microsoft. – vcsjones

+0

¿Quiere decir simplemente distribuir la carpeta Bin? no hay necesidad de la instalación? –