Можно ли встроить Gecko или Webkit в форму Windows, как WebView?

Я хотел бы знать, существует ли такая вещь, как Gecko.NET;) Я имею в виду, точно так же, как мы можем встроить WebView, и это «экземпляр» IE7 внутри любого приложения Windows Forms (и сообщить об этом navigateto(fancy_url);) . Я бы хотел использовать Firefox или WebKit.

Кто-нибудь пробовал это?

ОБНОВЛЕНИЕ: имейте в виду, что, хотя можно встроить Gecko с помощью упомянутых элементов управления, по-прежнему невозможно распечатать при использовании Gecko.

ОБНОВЛЕНИЕ, март 2010 г.: по-прежнему невозможно печатать с использованием GeckoFX изначально, однако существует несколько методов, которых может быть достаточно, в зависимости от того, что вы пытаетесь сделать. См .: http://geckofx.org/viewtopic.php?id=796 для получения дополнительной информации. Информация.

ОБНОВЛЕНИЕ, октябрь 2013 г.: я больше не занимаюсь разработкой для Windows, поэтому меня это не интересует, но похоже, что разработку Gecko можно найти здесь: https://bitbucket.org/geckofx и, кажется, недавно обновился. Оставим это здесь для будущих разработчиков Windows;)

ОБНОВЛЕНИЕ, январь 2017 г.: я получил письмо от компании TeamDev. Они создали компонент браузера .NET на основе Chromium под названием «DotNetBrowser», который можно использовать для отображения современных веб-страниц в приложениях Windows Forms.

Чтобы процитировать электронное письмо напрямую:

Вот некоторые подробности о компоненте, которые могут быть полезны:

  1. DotNetBrowser основан на Chromium, поэтому поддерживает HTML5, CSS3, JS и последние веб-стандарты. Базовая версия библиотеки Chromium регулярно обновляется.
  2. Компонент подходит для WPF, а также для настольных приложений Windows Forms и работает как для C #, так и для VB.NET.
  3. Библиотека имеет коммерческую лицензию, однако бесплатные лицензии предоставляются для проектов с открытым исходным кодом и академических проектов.

Заявление об ограничении ответственности: я не использовал этот DotNetBrowser, так как больше не занимаюсь разработкой для Windows, но, возможно, стоит проверить, ищете ли вы решение этой проблемы.


person Martin Marconcini    schedule 25.08.2008    source источник


Ответы (10)


http://code.google.com/p/geckofx/

Это хорошая версия Gecko в .NET-оболочке.

person HS.    schedule 28.08.2008

Конечно, это возможно. Все, что вам нужно сделать, это зарегистрировать элемент управления Mozilla ActiveX (я считаю, mozctlx.dll), и вы можете перетащить его в свою форму как любой элемент ActiveX. Интерфейс программирования подобен (хотя и не идентичен) интерфейсу IE, и в некоторых случаях вы даже можете использовать управляемую библиотеку Microsoft.MSHTML.dll для управления.

Я считаю, что это упаковано в Firefox. Если нет, вы также можете получить только встраиваемые биты от Mozilla. Просто выполните поиск в Google по запросу Mozilla ActiveX control или Mozilla Embedding C #, и это должно направить вас по правильному пути.

person TheSmurf    schedule 25.08.2008
comment
Ответ ниже должен быть ответом. GeckoFX - это обновленная оболочка .NET, элемент управления ActiveX не обновлялся с 2005 года. - person Sire; 19.01.2010

GeckoFX больше не обновляется. Альтернативой является оболочка MozNet XulRunner от Se7en Soft. MozNet имеет массу функций, которых нет в GeckoFX, и в настоящее время активно обновляется и поддерживается.

person Scott    schedule 17.02.2011
comment
Лицензионное соглашение MozNet противоречит LGPL, что делает его незаконным. Не используйте это. - person Ege Özcan; 14.12.2011
comment
Хуже того, бесплатной демо-версии больше нет. Маловероятно, что кто-то собирается покупать альтернативу компоненту плагина IE, они могут проверить, что он способен выполнять любую задачу, которую вы не смогли выполнить с компонентом IE. - person LairdPleng; 14.04.2013
comment
Активно разработанный проект GeckoFX доступен по адресу: bitbucket.org/geckofx - person Przemysław Michalski; 14.06.2013
comment
MozNet больше не поддерживается автором. - person Tony_Henrich; 23.07.2017

Я просто хотел бы указать всем, кто хочет встроить Gecko в свои приложения, что проект GeckoFX, похоже, был оставлен его создателями (Skybound Software). MozNET, который ранее был основан на GeckoFX, вроде как «взял мяч и побежал за ним». Он имеет полную возможность печати, предварительного просмотра печати и позволяет вам настроить все это через собственный диалог печати Windows, даже - и многое другое.

person Scott    schedule 22.02.2011
comment
GeckoFX активно развивается по адресу: bitbucket - person Wayne; 01.04.2015
comment
MozNet больше не поддерживается автором. - person Tony_Henrich; 23.07.2017

OpenWebKitSharp - это очень продвинутая оболочка для движка WebKit (ночная). Взгляните сюда (раздел OpenWebKitSharp): http://code.google.com/p/open-webkit-sharp/

person George    schedule 06.10.2011
comment
Безусловно, лучший элемент управления WebBrowser для .Net для нужд, отличных от IE. - person Vin; 11.04.2012
comment
OpenWebkitSharp был отключен и поэтому бесполезен. Существующие ошибки больше не исправляются, и жить с ними нельзя. - person tmighty; 27.06.2013

Обновление 2016 г .:

BrowseEmAll.Gecko

Компонент .Net, который можно использовать для интеграции движка Firefox в ваше приложение .Net. Это основано на Geckofx, но, в отличие от текущей версии Geckofx, это будет работать с обычной версией Firefox. Чтобы использовать Geckofx, вам нужно самостоятельно собрать Firefox. Опять же, доступна коммерческая поддержка, но сам компонент полностью с открытым исходным кодом.

(Полное раскрытие информации: я работаю в этой компании, поэтому относитесь ко всему, что я говорю, с недоверием)

person daniel.herken    schedule 13.02.2016
comment
Возможно, глупый вопрос, но должна ли конкретная версия Firefox быть установлена ​​на машине конечного пользователя? - person colmde; 27.11.2020

@Martin: Да, версия Адама Локка устарела. Но это потому, что в отдельном дистрибутиве нет необходимости. Теперь он построен с остальной частью кодовой базы Mozilla.

Если вы загрузите Prism (например, XulRunner), это даст вам базу, которую вы можете настроить в соответствии с вашими потребностями, включая самую последнюю версию элемента управления (в каталоге \ Prism \ xulrunner вы найдете mozctlx.dll) .

@Greg: На самом деле это элемент управления ActiveX. Между прочим, все элементы управления ActiveX являются элементами управления COM. ActiveX построен на COM.

person TheSmurf    schedule 25.08.2008
comment
Я хочу перенести данные winform в браузер Firefox. Это может быть возможно через библиотеку классов OpenWebKitSharp, также может ли она работать для версии FF 26.0 - person ; 02.01.2014

По состоянию на 30 октября 2011 г. добавлена ​​новая информация со времени предыдущих публикаций. В частности, хотя Skybound прекратил поддерживать свою версию, существует по крайней мере одна активно поддерживаемая бесплатная вилка с открытым исходным кодом.

Я использую вилку Хиндла в BitBucket, которая благодаря своему инструменту, который анализирует idls XpCom и создает оболочки C #, быстро обновляется с поддержкой каждой новой версии Firefox / Gecko.

См. этот пост для обзора других вариантов.

person John Hatton    schedule 30.10.2011

Вдобавок, если вы обнаружите, что используете Gtk вместо Windows.Forms, вы можете воспользоваться архивом webkit-sharp, который позволяет легко встраивать WebView в приложения Gtk #.

person wfarr    schedule 25.08.2008

Я верю, что "Gecko FX" [1] - это то, что вам нужно.

Цитировать с веб-сайта

"" "GeckoFX - это элемент управления Windows Forms, написанный на чистом языке C # с комментариями, который встраивает элемент управления браузера Mozilla Gecko в любое приложение Windows Forms. Он также содержит простую модель классов, обеспечивающую доступ к HTML и CSS DOM." ""

1) Я не могу разместить ссылку, так как «новым пользователям не разрешено добавлять гиперссылки». Выполните поиск по запросу «geckofx» в коде Google.

person garthy    schedule 19.05.2009
comment
Активно разработанная версия GeckoFX доступна по адресу: bitbucket.org/geckofx - person Przemysław Michalski; 14.06.2013