Buenas soy nuevo en este foro.
Estoy haciendo un programa que saca capturas de pantalla de juegos que utilizan OpenGL, en Windows XP saca correctamente, pero en W7 las capturas salen en negro o del escritorio de Windows, ya pregunte en algunos foros especializados en Delphi y no supieron contestarme ya que se especializan en hacer programas de otros tipos (bases de datos para empresas y demas).
El programa lo que hace es sacar capturas de la pantalla cada cierto tiempo y despues convertirlas en video, el codigo que uso basicamente es este:
El problema como dije antes, es que en W7 las capturas salen del escritorio propio de windows o en negro. Solamente ocurre cuando el juego esta en OpenGL y en pantalla completa, en modo ventana o en otro modo de video captura correctamente.
Como puedo hacer que capture lo que se ve solo en el juego?
Espero que en este foro me puedan ayudar. Saludos.
Estoy haciendo un programa que saca capturas de pantalla de juegos que utilizan OpenGL, en Windows XP saca correctamente, pero en W7 las capturas salen en negro o del escritorio de Windows, ya pregunte en algunos foros especializados en Delphi y no supieron contestarme ya que se especializan en hacer programas de otros tipos (bases de datos para empresas y demas).
El programa lo que hace es sacar capturas de la pantalla cada cierto tiempo y despues convertirlas en video, el codigo que uso basicamente es este:
CitarVisible := False;con algunas modificaciones para que vaya haciendo las capturas en distintos archivos, etc.
Application.ProcessMessages;
Bmp := TBitmap.Create;
try
Bmp.FreeImage;
Bmp.Width := GetSystemMetrics(SM_CXSCREEN); //Screen.Width
Bmp.Height := GetSystemMetrics(SM_CYSCREEN); //Screen.Height
BitBlt(Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, GetDc(0), 0, 0, SRCCOPY);
Bmp.SaveToFile (ChangeFileExt(Application.ExeName,'.bmp'));
finally
Bmp.Free;
end;
Visible := True ;
El problema como dije antes, es que en W7 las capturas salen del escritorio propio de windows o en negro. Solamente ocurre cuando el juego esta en OpenGL y en pantalla completa, en modo ventana o en otro modo de video captura correctamente.
Como puedo hacer que capture lo que se ve solo en el juego?
Espero que en este foro me puedan ayudar. Saludos.