Вот,написал и проверил!
Юзес JPEG,на форм1 должна быть баттн1 и имеэдж1.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var JPEG: TJPEGImage;
Dwh : HWND;
DRect: TRect;
DescDC : HDC;
begin
application.Minimize;
ShowWindow(Application.Handle, SW_HIDE);
application.ProcessMessages;
try
JPEG := TJPEGImage.create;
try
JPEG.CompressionQuality := 100;
Image1.Width := screen.width;
Image1.height := screen.height;
Form1.borderStyle:=bsnone;
Form1.Left:=0;
Form1.Top:=0;
DWH := screen.Monitors[0].Handle; //GetDesktopWindow;
GetWindowRect(DWH, DRect);
DescDC := GetDeviceContext(DWH);
Form1.canvas.Handle := DescDC;
DRect.Left := 0;
DRect.Top := 0;
DRect.Right := screen.Width;
DRect.Bottom := screen.Height;
Image1.canvas.CopyRect(DRect, Form1.Canvas, DRect);
JPEG.Assign(Image1.Picture.Bitmap);
JPEG.SaveToFile('C:\SUPER-FILE.jpg');
finally
JPEG.free;
end;
except
end;
form1.borderStyle:=bsSizeable;
application.Restore;
showWindow(form1.Handle, SW_show);
application.BringToFront;
end;
Проверь и измени под себя то,что нужно.
Поставь например таймер на 20000 milleseconds с обработчиком Button1Click(self);
А как со временем менять имена файлов с картинками я думаю сам знаешь..