Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 590

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Подскажите, пожалуйста, как можно сделать так, чтоб при использовании WebBrowser, использовались функции браузера, который установленный в системе.
При входе, например, на сайт 2ip.ru там отображается, что используется IE7.01 хотя в системе установлен 9й.
Спасибо.

Толик Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Толик (статус: Посетитель)
Вопрос отправлен: 18 сентября 2010, 23:18
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Толик!
На самом деле в системе установлен и 7 и 9 интернет эксплорер. Но делфи не знает о девятом, и поэтому использует 7.
Решается проблема просто - через Import ActiveX компонента (поищите в меню, есть такое). Дальше будет большой список различный ActiveX, но нужно найти WebBrowser (возможно их будет несколько - тут придется проявить сообразительность и посмотреть, на какие dll ссылаются и сделать выводы).

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 20 сентября 2010, 16:19


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 20 апреля 2011, 16:10; участников в обсуждении: 2.
Толик

Толик (статус: Посетитель), 22 сентября 2010, 19:43 [#1]:

Здравствуйте Вадим К.
Пробовал я импортировать через Import ActiveX "Microsoft Internet Controls (version 1.1)", а также через Import Type Library файл "shdocvw.dll". Компонент WebBrowser появляется и создается файл shdocvw_tlb, но при посещении тогоже сайта 2ip.ru да и пару других, отображается что браузер версии 7. При заходе на тот же сайт с IE8, пишет что браузер 8. Значит получается, что что-то неправильно я сделал и делфи использует фунции 7го браузера. :(
Толик

Толик (статус: Посетитель), 28 октября 2010, 01:56 [#2]:

Нашел то, что искал
http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx
mr_switch

mr_switch (статус: Посетитель), 20 апреля 2011, 13:49 [#3]:

Здравствуйте, Толик!
У вас получилось заставить работать WebBrowser с IE8 ? Не подскажите как это сделать?
Толик

Толик (статус: Посетитель), 20 апреля 2011, 16:10 [#4]:

Да.
Procedure ChangeModeIE;
var Registry: TRegistry;
Begin
{ создаём объект TRegistry }
Registry := TRegistry.Create;
{ устанавливаем корневой ключ; напрмер hkey_local_machine или hkey_current_user }
Registry.RootKey := HKEY_LOCAL_MACHINE;
{ открываем и создаём ключ }
Registry.OpenKey('SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION',true);
{ записываем значение }
if Form1.CheckBox7.Checked then //если галка стоит то делаю 8й иначе 7й IE
Registry.WriteInteger(ExtractFileName(Application.ExeName),8000) else
Registry.WriteInteger(ExtractFileName(Application.ExeName),7000);
{ закрываем и освобождаем ключ }
Registry.CloseKey;
Registry.Free;
End;

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:35
Выполнено за 0.03 сек.