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

StackOverflow https://stackoverflow.com/questions/26147

Вопрос

Мне бы хотелось знать, существует ли такая вещь, как 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, но, возможно, стоит проверить, ищете ли вы решение этой проблемы.

Это было полезно?

Решение

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

Это хорошая версия Gecko, завернутая в .NET.

Другие советы

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

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

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

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

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

Обновление 2016 года:

ПросмотрEmAll.Gecko

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

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

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

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

@Грег:На самом деле это элемент управления ActiveX.Кстати, все элементы управления ActiveX являются COM-управление.ActiveX построен на базе COM.

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

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

Видеть эта почта для обзора других вариантов.

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

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

Цитировать с сайта

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top