Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как программно заграбить полноэкранное окно DOS-сессии  (Прочитано 5752 раз)
0 Пользователей и 1 Гость смотрят эту тему.
serjufa
Гость
« : 23-06-2004 02:35 » new

Кто знает, как программно заграбить (аналог PrintScreen) полноэкранное DOS окно?
Нижеприведенный код, запоминающий Windows окна на полноэкранном DOS окне дает белый квадрат:

bmp := TBitmap.Create;
jp :=TJpegImage.Create;
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
Chirina := BMP.width-200;

BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
GetDC(GetDesktopWindow), 0, 0, SRCCopy);
Clipboard.Assign(bmp);

{----------------- start çàïèñü â bmp-file -----------------}
if Clipboard.HasFormat(CF_BITMAP) then
begin
{ ðàñøèôðîâêà Clipboard.HasFormat(..........)
CF_TEXT Text with a CR-LF combination at the end of each line.
CF_BITMAP A Windows bitmap graphic.
CF_METAFILEPICT A Windows metafile graphic.
CF_PICTURE An object of type TPicture.
CF_COMPONENT Any persistent object.}
bmp.Canvas.Font.Color := clGreen;
bmp.Canvas.Font.Size:=10;
........
........
try
with Bmp do
begin
jp.Assign(Bmp);
jp.SaveToFile('\VOL1\LOG\'+NameJPG+'.jpg');
end;
except
Записан
voldimar
Гость
« Ответ #1 : 24-06-2004 08:09 » 

Надо найти окно (по имени или как-нибудь еще), Выяснить его координаты и сграбить со всего экрана кусок.
Записан
serjufa
Гость
« Ответ #2 : 25-06-2004 02:59 » 

Если бы я знал как грабить этот кусок
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines