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

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

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

Вы можете использовать GeckoFX для встраивания Firefox

Я не знаю какого-либо полного компонента Chrome, но вы можете использовать WebKit, который является механизмом рендеринга, который использует Chrome. Проект Mono создал WebKit Sharp , который может сработать для вас.

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

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

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

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

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

  • Запуск Chrome внутри O2
  • Видео: установка и запуск CefSharp (C # Chrome с браузером WPF)
  • Видео: запуск Chrome изначально в O2 и VisualStudio

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 , основанный на The Chromium Embedded Framework (CEF) .

Обе из них поддерживают WPF и Winforms, и оба проекта поддерживают .net и mono.

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

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

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

1. BrowseEmAll.Cef

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

2. BrowseEmAll.Gecko

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

3. API-интерфейс BrowseEmAll Core

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

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

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

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

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

Ознакомьтесь с API Reference для получения более подробной информации.

В приведенном ниже fragmentе кода показано, как создать браузер, вставить его в форму и загрузить 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"); } } } 

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

введите описание изображения здесь

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

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

Давайте будем гением компьютера.