Mega Code Archive

 
Categories / Delphi / Examples
 

Screenshots

Title: Screenshots Question: How can I save the screen content to a bitmap file? Answer: { Here's how you can save the screen content into a bitmapfile. If you don't want to include the active (Delphi-)Application just put easily a 'Application.Minimize;' at the beginning of the procedure } uses Windows, Graphics, Forms; procedure TForm1.Button1Click(Sender: TObject); var DC: HDC; Canvas: TCanvas; MyBitmap: TBitmap; begin Canvas := TCanvas.Create; MyBitmap := TBitmap.Create; DC := GetDC(0); try Canvas.Handle := DC; with Screen do begin { detect the actual height and with of the screen } MyBitmap.Width := Width; MyBitmap.Height := Height; { copy the screen content to the bitmap } MyBitmap.Canvas.CopyRect(Rect(0, 0, Width, Height), Canvas, Rect(0, 0, Width, Height)); { stream the bitmap to disk } MyBitmap.SaveToFile('c:\windows\desktop\screen.bmp'); end; finally { free memory } ReleaseDC(0, DC); MyBitmap.Free; Canvas.Free end; end;