>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Встраивание броузера (Mozilla или Firefox) в собственное приложение http://forum.mozilla-russia.org/viewtopic.php?id=7713 |
Ixmal > 19-01-2006 20:24:55 |
Речь про винды. Кто-нибудь сталкивался с тем, чтобы встроить в свое приложение броузер? Насколько я себе представляю, это можно сделать с помощью OLE. OLE было выбрано потому, как ни MFC, ни ATL - ничего не используется, голый С/С++. Что я уже успел понять. Мне надо создать с помощью OleCreate() объект типа IOleObject, потом с помощью QueryInterface() преобразовать его к IWebBrowser2 и потом работать. Попутно подсунуть ему кое-какие ссылочки вроде IOleClientSite и пр., чтобы получать нотификации. Далее, мысли такие. Я знаю, что IWebBrowser2 реализуют как IE, так и Мозилла. Разница лишь в том, какой CLSID указать при OleCreate(). Вопрос: реализует ли Firefox этот же интерфейс или хотя бы планирует? Как его можно встроить в приложение иным способом? Спасибо |
igorsub > 19-01-2006 20:26:21 |
Похожая тема |
Ixmal > 19-01-2006 20:29:29 |
igorsub пишет
Да, я смотрел на нее, но там речь идет об использовании Gecko API, а здесь хочется его не использовать... |
Sarin2.0 > 19-01-2006 21:18:35 |
Ixmal пишет
Да простят меня фанаты Фаерфокса, но что мешает использовать TWebBrowser? Стандартный COM-объект из состава винды, представляющий собой ядро IE. |
Ixmal > 19-01-2006 21:34:22 |
Sarin2.0 пишет
Я не фанат Firefox'а, у самого стоит на компе Mozilla:) Просто хочется примерно следующий сценарий: при запуске определяем, какой у пользователя выбран браузер активным, берем его CLSID - а весь остальной код одинаковый. С IE и Mozilla такое пройдет, они оба реализуют IWebBrowser, но я не уверен в том же про Firefox. |
Sarin2.0 > 19-01-2006 23:49:16 |
Слушай, кривова-то как-то получаецца, имхо. Зачем встраивать в приложение бровзер, который пользователь выбрал по умолчанию? Не проще ли его запустить просто? |
Ixmal > 20-01-2006 12:18:05 |
Ну вот представь, если ты пишешь библиотеку, в которой есть компонент Browser. Если запускать его как отдельный процесс, то возникает проблема потом, как с ним взаимодействовать, получать какие-то события (начало загрузки страницы, окончание и пр.), не говоря уже о том, что кто-то просто хочет встроить браузер как обычный компонент в свою программу... |
Sarin2.0 > 20-01-2006 18:58:18 |
Ixmal пишет
Если использовать COM-обект, то наверняка проблема синхронизации тож встанет. Врядли это будет внутрепроцессный сервер. |