Содержимое WebBrowser в файл

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Привет всем! Хочу сделать прогу которая будет копировать содержимое странички в bmp или jpg файл... Пока только получилось сфотографировать экран в области отображения компонента WebBrowser, а вот как на прямую с компонента сдернуть все?

procedure TForm1.Button1Click(Sender: TObject);
var
bmp: TBitmap;
DC: HDC;
begin

bmp:=TBitmap.Create;
bmp.Height:=webbrowser1.Height;
bmp.Width:=WebBrowser1.Width;
DC:=GetDC(0); //Дескриптор экрана
bitblt(bmp.Canvas.Handle, 0, 0, Form1.left+WebBrowser1.Width, Form1.top+webbrowser1.Height,
DC, Form1.Left, form1.Top, SRCCOPY);

bmp.SaveToFile('C:\Screen.bmp');
ReleaseDC(0, DC);
end;
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Аватара пользователя
demon416
Сообщения: 178
Зарегистрирован: 30 янв 2006, 14:03
Откуда: kirovskoe

простого пути тут не будет
единственный более менее правильный вариант скролить WebBrowser, фоткать и собирать в памяти
ака хинт: коментируйте код, самим же легче будет разобраться ;)
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Ясно, а как-то поиск строки или текста по этому Браузеру можно устроить??? А как скролить браузер программно? Искал, искал, найти не мог...
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Ну а GetDC сделать не от нуля, а от хэндла окна браузера.
Еще стоит попробовать вооружиться программой WinSight и посмотреть структуру оконных объектов внутри браузера. Неисключено, что есть там Device Context, на котором рендерится вся страница целиком, а уже потом прокручивается внутри другого окна.
Ответить