Autor Beitrag
_Tyrael_
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 03.09.10 17:17 
Hallo Leute,
will gerade ein programm schreiben, welches einen Screenshot meines kompletten bildschirms machen soll. nun habe ich bereits viele einträge zum thema screenshots durchgelesen, leider ging es in diesen aber immer nur um screenshots eines bildschirmausschnittes und ich habe fast nichts davon verstanden(ich bin noch anfänger).
es wäre also nett, wenn mir jemand erklären könnte wie ich einen kompletten screenshot machen und diesen dann als .bmp datei speichern kann.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 03.09.10 17:34 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
procedure ScreenCapture(Bmp: TBitmap);
var
  DeskWnd: HWnd;
  DeskDC: HDC;
  DeskCv: TCanvas;
  R: TRect;
  W, H: Integer;
begin
  if Bmp = nil then Exit;
  DeskWnd := GetDesktopWindow;
  DeskDC := GetWindowDC(DeskWnd);
  DeskCv := TCanvas.Create;
  DeskCv.Handle := DeskDC;
  W := Screen.Width;
  H := Screen.Height;
  R := Bounds(00, W, H);
  try
    Bmp.HandleType := bmDIB;
    Bmp.PixelFormat := pf24Bit;
    Bmp.Width := W;
    Bmp.Height := H;
    Bmp.Canvas.CopyMode := cmSrcCopy;
    Bmp.Canvas.CopyRect(R, DeskCv, R);
  finally
    DeskCv.Free;
    ReleaseDC(DeskWnd, DeskDC);
  end;
end;


30 sekunden googeln, ist nicht dein ernst oder?

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.

Für diesen Beitrag haben gedankt: _Tyrael_
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Fr 03.09.10 17:35 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
procedure GenSceenshot(var BMP: TBitmap);
  var
    DC: THandle;
  begin
    if Assigned(BMP) then
      begin
        dc := GetDC(0);
          try
            With BMP do
              begin
                Width := Screen.Width;
                Height:= Screen.Height;
                BitBlt(Canvas.Handle,
                0,
                0,
                Screen.Width,
                Screen.Height,
                dc,
                0,
                0,
                SrcCopy);
              end;
          finally
            ReleaseDC(0, DC);
        end;
      end;
end;

Für diesen Beitrag haben gedankt: _Tyrael_
_Tyrael_ Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 03.09.10 17:44 
vielen dank für die antworten, aber mein problem ist, dass ich das nicht verstehe, allein die deklarierten variablen sind mir schon unbekannt... sollte einer die zeit erübrigen können, mir dass zu erklären wäre ich sehr dankbar, aber wenn nicht kann ich das gut verstehen.
acnut
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 172
Erhaltene Danke: 3

Windows 7, Windows Vista, Windows XP, Ubuntu, Kubuntu, Pardus
Delphi 2010 SV, Java Editor, VS 2010 SV
BeitragVerfasst: Fr 03.09.10 19:18 
für anfänger würde ich das hier empfehlen

www.delphi-treff.de/tutorials/

od. das hier:
www.delphitutorials.de/tutorials/index.php



mfg
acnut

Für diesen Beitrag haben gedankt: _Tyrael_
_Tyrael_ Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 03.09.10 20:36 
vielen dank!