Использовать chrome в качестве браузера в C#?

есть ли способ использовать Google Chrome (или Safari или Firefox) в качестве браузера в приложении c#? C# теперь использует Internet Explorer, и веб-сайт, который они хотят использовать в этой программе, не поддерживает его.

11 ответов


вы можете использовать WebKit.NET. Это оболочка C# для WebKit, которая является механизмом рендеринга, используемым Chrome.


можно использовать GeckoFX для встраивания firefox


Я не знаю полное компонент Chrome, но вы можете использовать WebKit, который является движком рендеринга, который использует Chrome. Моно проект сделал В WebKit Острым, что может работать для вас.


Я использую Awesomium, я думаю, что это лучше, чем GeckoFX / WebKit http://awesomium.com


OpenWebKitSharp дает вам полный контроль над WebKit Nightly, который очень близок к webkit с точки зрения производительности и совместимости. Chrome использует движок WebKit Chromium, в то время как WebKit.NET использует Cairo и OpenWebKitSharp каждую ночь. Хром должен быть лучшим из этих сборок, а на 2-м месте должен приходить каждую ночь, и поэтому я предлагаю OpenWebKitSharp.

http://gt-web-software.webs.com/libraries.htm в разделе OpenWebKitSharp


Я смог сделать это с помощью CefSharp.

вот несколько сообщений, которые показывают это в действии:


1/3/2017 --> 3 января 2017

привет, сегодня я нашел эту статью для достижения этого, статья называется "создание HTML UI для настольных приложений .NET" и предназначена для встраивания элемента управления на основе хрома в приложение WPF. Это спасло меня.

https://www.infoq.com/articles/html-desktop-net

надеюсь, это поможет кому-то еще.

Примечание: он основан на DotNetBrowser, см. лицензию Соглашение здесь:https://www.teamdev.com/dotnetbrowser-licence-agreement


попробуйте это: http://code.google.com/p/geckofx/


обновление за 2014 год:

Я использую geckofx, здоровый проект с открытым исходным кодом, который (на момент написания этой статьи) довольно хорошо обновляется с последними выпусками Firefox.

для встраивания Chrome вы можете рассмотреть другой здоровый проект с открытым исходным кодом,Xilium.cefGlue на основе рамки врезанные Хромием (CEF).

оба эти поддерживают WPF и Winforms, и оба проекта имеют поддержку .net и монофонический.


обновление 2016:

к сожалению, большинство вышеперечисленных решений устарели и больше не поддерживаются.

есть 3 дополнительных варианта, которые я могу предложить, которые все еще активно развиваются:

1. BrowseEmAll.Cef

компонент .Net, который можно использовать для интеграции Chrome engine в ваше приложение .Net. На основе CefGlue но немного быстрее обновляется до последней Хром версия. Также есть коммерческая поддержка опция доступна, которая может пригодиться для некоторых. Конечно, сам компонент открыть источник.

2. BrowseEmAll.Геккон!--10-->

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

3. BrowseEmAll Core API

нужны все различные браузеры в вашем приложении .Net? Какой основной API BrowseEmAll вы можете интеграция Chrome, Firefox, Webkit и Internet Explorer в приложение. Это коммерческие продукт хотя так будьте осторожны.

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


посмотри DotNetBrowser библиотека. Он предоставляет элементы управления браузером на основе хрома WPF и WinForms, которые довольно легко встроить в приложение .NET. Он поддерживает все современные веб-стандарты, включая HTML5, CSS3 и JavaScript. Визуализированная страница выглядит точно так же, как в Google Chrome.

библиотека наследует многопроцессную архитектуру Chromium – каждая веб-страница отображается в отдельном процессе Chromium, и приложение будет продолжать работать даже после сбоя плагина или любой другой неожиданной ошибки на веб-странице.

вот некоторые другие полезные функции, предоставляемые DotNetBrowser: можно прослушивать события загрузки, обрабатывать сетевую активность, настраивать прокси-сервер, имитировать действия пользователя, работать с куки-файлами, получать доступ и изменять DOM, прослушивать события DOM, вызывать JavaScript из .NET и наоборот, использовать веб-камеру и микрофон на веб-странице, настраивать связь на основе WebRTC и больше.

Проверьте ссылка на API для более подробной информации.

приведенный ниже фрагмент кода демонстрирует, как создать BrowserView, встроить его в форму и загрузить URL:

using System.Windows.Forms;
using DotNetBrowser;
using DotNetBrowser.WinForms;

namespace WinForms.DotNetBrowser
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            BrowserView browserView = new WinFormsBrowserView();
            Controls.Add((Control) browserView);
            browserView.Browser.LoadURL("http://www.youtube.com");
        }
    }
}

после запуска примера выше вы получите следующий вывод:

enter image description here

библиотека является коммерческой, однако она бесплатна для использования в открытых и академических проектах. Коммерческие лицензии включают пакеты поддержки для разные размеры команды. Также можно приобрести исходный код библиотеки.

помимо собственной страницы компонент доступен как пакета NuGet и пакет VSIX в Visual Studio Marketplace.