Форум: "Система";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c