Показать сообщение отдельно
  #16  
Старый 21.10.2010, 09:48
MrDiG MrDiG вне форума
Начинающий
 
Регистрация: 05.10.2010
Сообщения: 112
Репутация: 1227
По умолчанию

Цитата:
Сообщение от Asinkrit
Если это работает, то это великолепно, однако есть другая проблема, получить изображение флешки в свернутом окне, вот она точно не решается.
Код:
procedure TfrmMain.WebBrowserScreenShot(const wb: TWebBrowser;  const fileName: TFileName);
var
  viewObject : IViewObject;
  r : TRect;
  bitmap : TBitmap;
  ji: TJPEGImage;
begin
  if wb.Document <> nil then
  begin
    wb.Document.QueryInterface(IViewObject, viewObject) ;
    if Assigned(viewObject) then
    try
      bitmap := TBitmap.Create;
      try
        r := Rect(0, 0, wb.Width, wb.Height) ;  //left, top, right, bottom
        bitmap.Height := wb.Height;
        bitmap.Width := wb.Width;
        viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0) ;
        ji := TJPEGImage.Create;
        with ji do
        try
          Assign(bitmap) ;
          SaveToFile(fileName) ;
        finally
          Free;
        end;
      finally
        bitmap.Free;
        //ji.Free;    // При включённой выкидывает ошибку
      end;
    finally
      viewObject._Release;
    end;
  end;
end;
Скриншотим содержимое браузера в файл. Потом обрабатываем.
Ответить с цитированием