Autor Beitrag
S. M. JaF
Hält's aus hier
Beiträge: 3

Win XP, Ubuntu 7.04
Delphi 6
BeitragVerfasst: Sa 30.06.07 21:11 
Hallo

Diese Frage wurde mit Sicherheit schon ca. 10³ mal gestellt, aber die Forumsuche und auch Google haben mich nicht wirklich weiter gebracht. Ein Link reicht mir, und ich schäme mich jetzt schon furchtbar, dass ich diese Frage stellen muss aber...

blablabla, genug der Entschuldigung, jetzt zur Frage. Ich denke mal, dass der Titel schon recht bezeichnend ist:
Ich will mir ein kleines Tool schreiben, dass, sobald eine bestimmte Bildschirmanzeige erreicht ist automatisch den Mauszeiger bewegt, ein bisschen klickt etc. Das Klicken etc ist klar, ABER:
Wie mache ich einen Screenshot von einem bestimmten Bereich des Bildschirms? Das Vergleichen habe ich mir schon zusammengeklaubt, das ist alles kein Problem.. blablabla, die Frage ist gestellt, jetzt seid ihr drann....

Schonmal vorab Danke, SaM

_________________
Die Überlegenheit des Menschen über die Maschine begründet sich in seiner Fähigkeit, Fehler zu machen.
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Sa 30.06.07 21:24 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function Tmain.screenmachen(x,y,breite,hoehe):tbitmap;
var
  BMP: TBitmap;
  Desktop: TCanvas;
begin
  BMP := TBitmap.Create;
  Desktop := TCanvas.Create;
  Desktop.Handle := GetWindowDC(GetDesktopWindow);
  BMP.Width := breite;
  BMP.Height := hoehe;
  BMP.Canvas.CopyRect(Rect(0,0,bmp.width,bmp.Height ), Desktop,
      Rect(x,y,x+breite,y+hoehe));
  result:=bmp;
end;



kommt man mit forensuche auch von alleine hin
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Sa 30.06.07 21:26 
Moin,

das würde etwa so gehen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button1Click(Sender: TObject);
var DeskCanvas: TCanvas;
    DeskRect: TRect;
begin
 DeskCanvas := TCanvas.Create;
 DeskCanvas.Handle := GetDC(0);
 // Ausschnitt festlegen
 DeskRect.Left := 200;
 DeskRect.Top := 200;
 DeskRect.Right := 400;
 DeskRect.Bottom := 400;
 // an Image1 übergeben
 Image1.Canvas.CopyRect(Image1.ClientRect, DeskCanvas, DeskRect); // Image1 ist auf der Form vorhanden
 DeskCanvas.Free;
end;


Gruß
S. M. JaF Threadstarter
Hält's aus hier
Beiträge: 3

Win XP, Ubuntu 7.04
Delphi 6
BeitragVerfasst: So 01.07.07 06:46 
Sry, hatte das mit der Forensuche nicht gefunden. Aber Danke

_________________
Die Überlegenheit des Menschen über die Maschine begründet sich in seiner Fähigkeit, Fehler zu machen.