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