Главная страница
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.47 MB
Время: 0.024 c
7-1082981488
Mesha
2004-04-26 16:11
2004.05.30
Путь к папке Program files


6-1081330846
Ozone
2004-04-07 13:40
2004.05.30
TIdTCPClient


4-1082520099
marina
2004-04-21 08:01
2004.05.30
Рисование


6-1082019158
Ozone
2004-04-15 12:52
2004.05.30
TIdTCPServer


3-1084134130
Piter
2004-05-10 00:22
2004.05.30
DISTINCT?