Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скриншот экрана


Debilo ©   (2006-07-23 20:50:00) 

Как сделать в дельфи скриншот всего экрана?


Loginov Dmitry   (2006-07-23 21:35:00) [1]

> Как сделать в дельфи скриншот всего экрана?


procedure TForm1.Button1Click(Sender: TObject);
var
 ACanvas: TCanvas;
begin
 ACanvas := TCanvas.Create;
 with ACanvas do
 begin
   Handle := GetDC(0);
   Self.Canvas.CopyRect(ClipRect, ACanvas, ClipRect);
   ReleaseDC(0, Handle);
   Free;
 end;
end;


P.S. Требует доводки до ума!


KaLLeKa   (2006-07-23 21:27:00) [2]

примерно вот так :


procedure TForm1.MakePicture;
var
sapppath : string;
bmp: TBitmap;
DC: HDC;
begin
bmp:=TBitmap.Create;
bmp.Width :=  800;
bmp.Height := 600;
DC:=GetDC(0);
bitblt(bmp.Canvas.Handle, 0, 0, 800, 600, DC, 0, 0, SRCCOPY);
bmp.SaveToFile('C:\Screen.bmp');
ReleaseDC(0, DC);
end;

procedure TForm1.chtototamClick(Sender: TObject);
begin
MakePicture;
end;


Мефисто   (2006-07-23 21:18:00) [3]

SystemParametersInfo(SPI_GETWORKAREA, 0, @Rect, 0);

or

function TScreen.GetWorkAreaRect: TRect;

+

Canvas.CopyRect()


Наверх

Титульная страница Поиск, карта сайта Написать письмо