@himitsu, du hast mich nicht verstanden.
ich schreibe es dir noch einmal.
1. Mein Spiel ist gestartet und läuft im Hindergrund.
2. Im Vordergrund ist mein Tool gestartet.
3. Ich spiele im Fenster Modus.
4. Ich drücke auf den Button Screen.
Delphi-Quellcode:
//Char 1 Inventar Bild1
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible := False;
Sleep(STime); // some delay, ein wenig Zeit geben
ScreenShot(Char1_1.Picture.BitMap);
Form1.Visible := True;
end;
Mein Tool verschwindet (visible:= false), jetzt sehe ich mein Spiel auf dem Bildschirm.
Es wird ein screen gemacht und der linke obere Bereich wird abgespeichert.
Delphi-Quellcode:
procedure TForm1.ScreenShot(Bild: TBitMap);
var
c: TCanvas;
r: TRect;
begin
x:= 1720;
y:= 400;
c := TCanvas.Create;
c.Handle := GetWindowDC(GetDesktopWindow);
try
r := Rect(0, 0, (Screen.Width -x ), (Screen.Height-y ));
Bild.Width := (Screen.Width -x );
Bild.Height := (Screen.Height -y);
Bild.Canvas.CopyRect(r, c, r);
finally
ReleaseDC(0, c.Handle);
c.Free;
end;
end;
mfg