Mein kleines Screenshot Programm für Spiele funktioniert leider unter
DirectX-11 bzw. Windows 7/64 Bit nicht mehr. Es werden nur noch weise Bilder gemacht...
Basis für die Screenshots ist
Delphi-Quellcode:
procedure ScreenToFile(aFileName: string);
var
Bitmap: TBitmap;
Canvas: TCanvas;
begin
Canvas := TCanvas.Create;
try
Canvas.Handle := GetWindowDC(0);
try
Bitmap := TBitmap.Create;
try
Bitmap.Width := Screen.DesktopWidth;
Bitmap.Height:= Screen.DesktopHeight;
Bitmap.PixelFormat := pfDevice;
BitBlt(Bitmap.Canvas.Handle, 0, 0, Pred(Screen.DesktopWidth), Pred(
Screen.DesktopHeight), Canvas.Handle, Screen.DesktopLeft,
Screen.DesktopTop, Bitmap.Canvas.CopyMode);
Bitmap.SaveToFile(aFileName);
finally
Bitmap.Free;
end;
finally
ReleaseDC(0, Canvas.Handle);
end;
finally
Canvas.Free;
end;
end;
von
hier.
Unter XP/Vista
DirectX 9 ging das noch. Wie kann ich nun Screenshots von
DirectX-11 bzw. Windows 7/64 Bit machen?