Показать сообщение отдельно
  #4  
Старый 07.11.2007, 02:39
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Цитата:
Сообщение от The Shadow
Я при помощи функций FindWindow и FindWindowEx нахожу HWND изображения.
Может все таки не изображения, а компонента TImage? Т.к. именно изображения не найти с FindWindow. Если нужно скопировать картинку с определенного окна, то нада юзать BitBlt. Вот тебе процедура которая копирует содержимое окна в битмап
Код:
procedure CopyWindowToBitmap(Wnd : HWND; var Bmp : TBitmap);
var
  DC : HDC;
  wr : TRect;
begin
  bmp := nil;
  try
    Bmp := TBitmap.Create;
  except
    Exit;
  end;
  if GetWindowRect(Wnd, wr) then
    with Bmp do begin
      Width := wr.Right - wr.Left;
      Height := wr.Bottom - wr.Top;
      PixelFormat := pf24bit;
      DC := GetWindowDC(Wnd);
      if DC <> 0 then begin
        BitBlt(Bmp.Canvas.Handle, 0, 0, Width, Height, DC, 0, 0, SRCCOPY);
        ReleaseDC(Wnd, DC);
      end;
    end;
end;
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием