Mega Code Archive

 
Categories / Delphi / Graphic
 

How take a screen shot and save it to a bitmap

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var DeskTopCanvas: TCanvas; DeskTopRect: TRect; Bitmap: TBitmap; begin DeskTopCanvas := TCanvas.Create; DeskTopCanvas.Handle := GetDC(0); DeskTopRect := Rect(0,0,Screen.Width,Screen.Height); Bitmap := TBitmap.Create; with Bitmap do begin Width := Screen.Width; Height:= Screen.Height; PixelFormat := pfDevice; end; Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect); Bitmap.SaveToFile ('c:\desktop.bmp'); Bitmap.Free; DesktopCanvas.Free; ReleaseDC(GetDeskTopWindow,GetDC(0)); end; end.