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

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

Как скопировать изоброжение чужого окна. [D6, NT4, Win2k, WinXP]


Pavia ©   (2004-12-28 23:18:00) 

Как скопировать изоброжение чужого окна? При условии что его перекрывпают другии окна, или вобще свернуто.


Pavia   (2004-12-30 00:16:00) [1]

VMcL
Так я пробовал. Это мне не подходит.
Shaman_Naydak, MBo
Спасибо, это должно помочь.


Thick   (2004-12-29 22:47:00) [2]

А ты не узадумывался что прорисовка окна происходит именно когда его нухно прорисовать????


Anton_K   (2004-12-29 22:17:00) [3]

Можно послать WM_PAINT, где в wParam DC нужного битмапа.


DeadMeat   (2004-12-29 22:09:00) [4]


> [3] VMcL ©   (29.12.04 07:45)

Проверено... Не поможет. Нужно именно [1] или что-то в этом роде...

---
...Death Is Only The Begining...


VMcL   (2004-12-29 07:45:00) [5]

Как-то так, наверное:

function GetWindowShot(const Window: HWND): TBitmap;
var
 DC: HDC;
 R: TRect;
begin
 Result := TBitmap.Create;
 with Result do
   try
     PixelFormat := pf24bit;
     Transparent := False;
     DC := GetWindowDC(Window);
     try
       GetWindowRect(Window, R);
       Width := R.Right - R.Left;
       Height := R.Bottom - R.Top;
       BitBlt(Canvas.Handle, 0, 0, Width, Height, DC, 0, 0, SRCCOPY);
     finally
       ReleaseDC(Window, DC);
     end;
   except
     Free;
     raise;
   end;
end;


Замечание.Как видно из кода, за освобождение результирующего TBitmap'а отвечает вызывающая сторона.


MBo   (2004-12-29 07:42:00) [6]

статья о [1] есть на
www.fengyuan.com


Shaman_Naydak   (2004-12-29 07:35:00) [7]

нормальные чужие окна должны отрабатывать
WM_PRINT и WM_PRINTCLIENT


Наверх

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