procedure TForm1.Button1Click(Sender: TObject);
var
dc:HDC;
jpg:TJPEGImage;
bmp:TBitmap;
begin
try
{TJPEGImage necessario declara unit JPeg na delcaração uses...}
jpg:=TJPEGImage.Create;
bmp:=TBitmap.Create;
{Monitor e uma class i esta disponivel como
property delcarado em TCustomForm e guarada
informações sobre a sobre a configuração de resoluca como largura e altura}
bmp.Width:=Monitor.Width;
bmp.Height:=Monitor.Height;
{usando a função da Api Windows getdc com valor zero , voce recuprea o descriptor do desktop do windows}
dc:=GetDC(0);
{usando a função BitBlt da Api windows para gravar o descriptor da tela no canvas do Bitmap capiturando a Tela}
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, dc,0,0,SRCCOPY);
jpg.CompressionQuality:=100;
{ convertendo bitmap para Jpg qualidade
exelente como acima 100% e de tamanho bem menor que o bitmap}
jpg.Assign(bmp);
jpg.SaveToFile('c:Teste.jpg');
finally
DeleteDC(dc);
bmp.Free;
jpg.Free;
end;
end;