Faire une capture d'écran

//Copie d'écran de l'ensemble du bureau

Procedure ScreenShot(Bild: TBitMap);
var
c: TCanvas;
r: TRect;

begin
c:= TCanvas.Create;
c.Handle:= GetWindowDC (GetDesktopWindow);
try
r:= Rect(0,0,screen.width,screen.height);
Bild.Width:=screen.Width;
Bild.Height:=screen.Height;
Bild.Canvas.CopyRect(r, c, r);
finally
ReleaseDC(0, c.handle);
c.Free;
end;
end;

//Copie d'écran de la fenętre active
Procedure ScreenShotActiveWindow(Bild: TBitMap);
var
c: TCanvas;
r, t: TRect;
h: THandle;

begin
c:= TCanvas.Create;
c.Handle:= GetWindowDC (GetDesktopWindow);
h:=GetForeGroundWindow;
if h<>0 then
GetWindowRect(h, t);
try
r:= Rect(0,0,t.Right-t.left,t.Bottom-t.Top);
Bild.Width:=t.Right-t.left;
Bild.Height:=t.Bottom-t.Top;
Bild.Canvas.CopyRect(r, c, t);
finally
ReleaseDC(0, c.handle);
c.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible:=false;
Sleep(750); //fait une petite pause
ScreenShot(Image1.Picture.BitMap);
Form1.Visible:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Visible:=false;
Sleep(750); //fait une petite pause
ScreenShotActiveWindow(Image1.Picture.BitMap);
Form1.Visible:=true;
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour16/11/2001
VisualisationVu 1315 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Surface
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur