Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Screenshot   Найти похожие ветки 

 
defen   (2004-04-19 15:07) [0]

Здравствуйте Уважаемые Мастера! Подскажите пожалуйста можно-ли програмно сделать SCREENSHOT? И если можно то как?


 
VMcL ©   (2004-04-19 17:35) [1]

procedure GetScrShot;
var
 Win: HWND;
 Bmp: TBitmap;
 DC: HDC;
 R: TRect;
begin
 Win := GetDesktopWindow;
 Bmp := TBitmap.Create;
 with Bmp do
 try
   PixelFormat := pf24bit;    
   DC := GetWindowDC(Win);
   try
     GetWindowRect(Win, R);
     Width := R.Right - R.Left;
     Height := R.Bottom - R.Top;
     BitBlt(Canvas.Handle, 0, 0, Width, Height,
       DC, 0, 0, SRCCOPY);
   finally
     ReleaseDC(Win, DC);
   end;
   SaveToFile("C:\_ScrShot.bmp");
 finally
   Free;
 end;
end;


 
defen   (2004-04-19 23:56) [2]

Огромное спасибо!


 
OSokin ©   (2004-04-20 20:07) [3]

Можно еще вызвать int 5h (PrintScreen) и вставить картинку из буфера.


 
Sanek_metaller ©   (2004-04-21 00:16) [4]

А можно ли сделать так,чтобы скришот в TImage вставить,не сохраняя его на винт?


 
VMcL ©   (2004-04-21 10:29) [5]

>>Sanek_metaller ©  (21.04.04 00:16) [4]

Голова у тебя, чтобы наушники носить?

procedure GetScrShot(const AImage: TImage = nil);
var
Win: HWND;
Bmp: TBitmap;
DC: HDC;
R: TRect;
begin
Win := GetDesktopWindow;
Bmp := TBitmap.Create;
with Bmp do
try
 PixelFormat := pf24bit;  
 DC := GetWindowDC(Win);
 try
  GetWindowRect(Win, R);
  Width := R.Right - R.Left;
  Height := R.Bottom - R.Top;
  BitBlt(Canvas.Handle, 0, 0, Width, Height,
   DC, 0, 0, SRCCOPY);
 finally
  ReleaseDC(Win, DC);
 end;
 if AImage <> nil then
   AImage.Picture.Bitmap.Assign(Bmp);
finally
 Free;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
14-1084452869
Йцукен
2004-05-13 16:54
2004.05.30
Написание ПО, организация


3-1083829796
}|{yk
2004-05-06 11:49
2004.05.30
Оптимизация процедуры построения дерева в FireBird 1.5


1-1084363991
dim-
2004-05-12 16:13
2004.05.30
tree и Data


3-1084320050
AleKo
2004-05-12 04:00
2004.05.30
Блокировка записей в ADO


6-1081958762
***ghost***
2004-04-14 20:06
2004.05.30
Как с помощью TClientSocket и TServerSocket отправлять файлы