Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Программно нажимаем Print Screen

01.01.2007

Автор: Simon Carter

Совместимость: Delphi 3.x (или выше)

Приведённая здесь функция делает копию изображения экрана и сохраняет её в буфере обмена (Clipboard). Так же необходимо включить в Ваш проект файл ClipBrd.pas.

procedure SendScreenImageToClipboard; 
var
  bmp
: TBitmap;
begin
bmp
:= TBitmap.Create;
try
bmp
.Width := Screen.Width;
bmp
.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
GetDC(GetDesktopWindow), 0, 0, SRCCopy);
Clipboard.Assign(bmp);
finally
bmp
.Free;
end;
end;

Следующая функция скопирует изображение экрана в в bitmap. Переменная bitmap *должна* быть инициализирована до вызова этой функции.

procedure GetScreenImage(bmp: TBitmap); 
begin
bmp
.Width := Screen.Width;
bmp
.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
GetDC(GetDesktopWindow), 0, 0, SRCCopy);
end;

Взято из https://forum.sources.ru