работать программно с IE
Подскажите, как можно из программы на C++ Builder'е работать с IE.
Нужно:
1. Добавить свой узел (mysite.ru) в доверенные
2. Изменить настройки IE - разрешить загрузку ActiveX для зоны "Доверенные узлы"
3. Отключить блокирование всплывающих окон
4. Проверить наличие в IE некоторых имеющихся надстроек - и если таковые имеются и отключены - то включить их.
Версия IE может быть 6, 7 и 8. Для IE8 нужно еще снять галочку "Включить защиту памяти..." на вкладке "Безопасность".
PS: Это не вирус, посему - можно в процессе действий проги задавать пользователю любые вопросы подтверждающего характера.
Вопрос - возможно ли это реализовать и соответственно как :-)?
Никто не знает?...
Цитата: needjava
Никто не знает?...
нет, слишком дохера сложных вопросов:)
п.1, 2 - хз, "доверенные" где это вообще, может у нас разные версии IE стоят?
п. 3 скорее всего тупо посылкой оконного сообщения
п. 4 плагины для IE бывают разные (BHO, toolbar, кнопки в панели IE...) и по разному откл/вкл, но в общем все они обычно СОМ-объекты, так, что можно радикально - UnRegisterServer...
а если не особо скрытно, то ответ на вопросы
1. Работай с реестром (я предпочитаю TRegistry). Доверенные сайты тут HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\имя_домена.com. Главное не паниковать.
2. Работай с реестром. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\PreApproved тут лежат CLSIDы разрешенных элементов. Главное не паниковать.
3. Работай с реестром HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_WEBOC_POPUPMANAGEMENT Это раздел управления PopUp'ами. Главное не паниковать.
4. Работай с реестром !!!!! ибо этот вопрос можно и нагуглить.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Plugins
Тут соответственно лежат настройки надстроек и плагинов. Главное не паниковать.
Работу с реестром выдели в отдельный thread, при замусоренном реестре будет побыстрее чуть-чуть, но это если критична быстрая работа приложения в целом, так как проверки и изменения реестра могут создать малозаметное, но ощутимое для человека изменение времени запуска приложения (хотя все зависит от машины).
ЗЫ ответы даны для восьмого эксплорера. У остальных все в принципе так же, но PopUp менеджер может быть в другом месте и другой форме.
ЗЫЫ для верности рекомендую сделать следующее: снять слепок с обычного реестра, вносить руками нужные изменения и сравнивать, что изменилось в соответствии с первым слепком, и вносить в программу соответствующие директивы правки реестра. Так будет вернее, и отследишь изменения во всех интересующих версиях эксплорера.
ЗЫЫЫ предупреждаю сразу проактивные защиты и некоторые фаерволлы вопят о подобных действиях как свиньи :D:D:D Главное не паниковать.
Проблема в том, что пользователь сильно неопытный и не знает, как добавить узел в доверенные, как включить надстройку и т.д.
Паниковать не будем, будем пробовать :). Спасибо rainor.