|
Вопрос # 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го браузера.
|
|
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;
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|