Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2015, 11:10   #1
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию Как сохранить страницу html из webbrowser

Подключил webbrowser из ieframe.dll, получаю страницу, она загружается в браузер. Дальше мне нужно ее сохранить. Читал что нужно получать указатель на интерфейс IHTMLDocument2, получаю на него указатель и там есть функция get_body, получаю с помощью нее текст body, но как получить полностью код страницы со всеми скриптами тегами комментариями? Как полностью получить страницу????

Что за webbraowser если я даже страницу не могу сохранить?
ninja2 вне форума Ответить с цитированием
Старый 15.08.2015, 13:56   #2
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Та разобрался, нада IHTMLDocument3 использовать. А как версию браузера повысить из ие7 на ие11??? Текст отображается как попало, кнопки сьезжают, что попало. как ие7 изменить на ие11?
ninja2 вне форума Ответить с цитированием
Старый 15.08.2015, 18:38   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Насколько я помню ядро изменить не удастся. Это уже с новой виндой только можно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.08.2015, 16:42   #4
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Насколько я помню ядро изменить не удастся. Это уже с новой виндой только можно.
У меня стоит виндовс 7 и поэтому у меня ie7 грузится? Так у меня ж ие11 установлен и все рамно ие7 грузит. А как в C#, там что тоже ие7? А .net это не com???? От че то мысль возника попробовать браузер из .net подключить в С++ .

Хотя от можно и ИЕ7 использовать. Но там плохо отображается из за того что javaScritp код написан чуть по другому, там есть запятые и из за них ие7 не может его исполнить. Это наверно нужно вручную править код, а затем подгружать. Короче это головняк.

А если я виндовс 10 поставлю, то и ие другой будет грузится?. Тут еще я пробовал ieframe.dll скачать другой, так его если устанавливаешь другой, то VS не запускается. Похоже другие ieframe.dll не подходят.

А можно как небуть после загрузки страницы кликнуть по ссылке программно???? У меня когда я сохраняю страницу и добавляю JavaScript код он долго грузится. Ну или не кликнуть по ссылке, а например в body я добавляю функции javaScript но она не вызывается, а мне нужно их как небуть вызвать. Занаво загружать страницу ну это не то, плюс еще окошка появлятся javaScript с разными сообщениями.

Последний раз редактировалось Stilet; 16.08.2015 в 20:11.
ninja2 вне форума Ответить с цитированием
Старый 16.08.2015, 20:08   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

поищите, там ключ в реестре надо прописывать чтоб ваше приложение брало иную версию ИЕ.
Цитата:
Насколько я помню ядро изменить не удастся. Это уже с новой виндой только можно.
я даже не уверен что в 10 убрали совместимость)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.08.2015, 22:02   #6
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
поищите, там ключ в реестре надо прописывать чтоб ваше приложение брало иную версию ИЕ.
И как поискать? Там же вроде файл используется ieframe.dll, чтобы другая версия появилась должен быть другой файл с COM версией браузера или как? Весь интерфейс идет с ieframe.dll, оттуда сама VS свои файлы генерирует, потому что если этот файл заменить на другой ieframe.dll, то vs не загружается, значит она оттуда берет CLSID интерфейсов.

Если бы знать с какого файла загружать например с ieframe22.dll и там бы была ие11, а так похоже не изменишь.

Можно попробовать наверно подключиться к браузеру реальному зная его progid в реестре но это не тоже самое.

Или я что то ниче не пойму этот COM, вообще у меня ИЕ11 установлен и нормально загружает.
ninja2 вне форума Ответить с цитированием
Старый 16.08.2015, 22:05   #7
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Нашел как кликнуть, нужно использовать IHTMLElement
ninja2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести код html из файла на страницу HTML Рамирас JavaScript, Ajax 1 25.07.2010 20:06
Как открыть html страницу grafgrial Общие вопросы Delphi 6 31.03.2010 18:44
Как сохранить страницу с сайта SeregaKo Общие вопросы Delphi 1 27.04.2009 10:53
Как сохранить Html страницу в *.txt зная его URL shaima Работа с сетью в Delphi 1 31.08.2008 17:46