web-dev-qa-db-ja.com

C#でブラウザとしてchromeを使用しますか?

Google Chrome(またはSafariまたはFirefox)をC#アプリケーションのブラウザとして使用する方法はありますか?C#はInternet Explorerを使用し、このプログラムで使用するWebサイトは使用しません。それをサポートします。

47
Timo

WebKit.NET を使用できます。これは、Chromeで使用されるレンダリングエンジンであるWebKitのC#ラッパーです。

53
Reed Copsey

GeckoFX を使用してFirefoxを埋め込むことができます

43
Joel Martinez

私は何も知らないfullChromeコンポーネントですが、WebKitを使用できます。これはレンダリングエンジンですChrome使用。Monoプロジェクトは WebKit Sharp を作成しました。

12
Travis Gockel

私はAwesomiumを使用しています。GeckoFX/ WebKitよりも優れていると思います http://awesomium.com

10
Liam Martens

OpenWebKitSharpを使用すると、パフォーマンスと互換性の点でWebkitに非常に近いWebKit Nightlyを完全に制御できます。 ChromeはWebKit Chromiumエンジンを使用し、WebKit.NETはCairoとOpenWebKitSharp Nightlyを使用します。Chromiumはこれらのビルドの中で最も優れているはずです。

http://gt-web-software.webs.com/libraries.htm OpenWebKitSharpセクション

5
George

CefSharpを使用してこれを行うことができました。

これが実際に実行されていることを示すいくつかの投稿を次に示します。

4
Dinis Cruz

2017年1月3日-> 2017年1月3日

こんにちは、これを達成するためにこの記事を見つけました。この記事は「デスクトップ.N​​ETアプリケーション用のHTML UIの作成」と呼ばれ、クロムベースのコントロールをWPFアプリケーションに埋め込むことを目的としています。それは私を救った。

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

他の人の助けになることを願っています。

注:DotNetBrowserに基づいています。ライセンス契約はこちらをご覧ください。 https://www.teamdev.com/dotnetbrowser-licence-agreement

3
Juan

これを試してください: http://code.google.com/p/geckofx/

2
iamwill

DotNetBrowser ライブラリをご覧ください。 ChromiumベースのWPFおよびWinFormsブラウザーコントロールを提供します。これらは.NETアプリケーションに簡単に組み込むことができます。 HTML5、CSS3、JavaScriptを含むすべての最新のWeb標準をサポートしています。レンダリングされたページは、Google Chromeとまったく同じように見えます。

ライブラリはChromiumのマルチプロセスアーキテクチャを継承します。各Webページは個別のChromiumプロセスでレンダリングされ、プラグインのクラッシュやその他の予期しないエラーがWebページで発生した後でもアプリケーションは動作し続けます。

DotNetBrowserが提供するその他の便利な機能を次に示します。ロードイベントのリッスン、ネットワークアクティビティの処理、プロキシの構成、ユーザーアクションのシミュレーション、Cookieの操作、DOMへのアクセスと変更、DOMイベントのリッスン、.NETからのJavaScriptの呼び出しが可能ですまた、その逆の場合、WebページでWebカメラとマイクを使用し、WebRTCベースの通信を設定し、 more を使用します。

詳細については、 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

ライブラリは商用です。商用ライセンスには、さまざまなチームサイズのサポートパッケージが含まれています。ライブラリのソースコードを購入することもできます。

コンポーネントは、独自のページに加えて、Visual Studio Marketplaceで NuGetパッケージ および VSIXパッケージ として利用できます。

2
Vladimir

2016年更新:

残念ながら、上記のソリューションのほとんどは時代遅れであり、もはや維持されていません。

私が提案できる3つの追加オプションがありますが、これらはまだ活発に開発されています。

1。BrowseEmAll.Cef

Chromeエンジンを.Netアプリケーションに統合するために使用できる.Netコンポーネント。 CefGlue に基づいていますが、最新のChromeバージョンへの更新では少し高速です。また、商用サポートオプションがありますもちろん、コンポーネント自体はopen sourceです。

2。BrowseEmAll.Gecko

Firefoxエンジンを.Netアプリケーションに統合するために使用できる別の.Netコンポーネント。これは Geckofx に基づいていますが、Geckofxの現在のバージョンとは異なり、これはFirefoxの通常のリリースビルドで動作します。 Geckofxを使用するには、Firefoxを自分でビルドする必要があります。再び商用サポートは利用可能ですが、コンポーネント自体は完全にオープンソースです。

。BrowseEmAll Core API

.Netアプリケーションにすべての異なるブラウザーが必要ですか?どのBrowseEmAll Core APIを使用してChrome、Firefox、Webkit、Internet Explorerをアプリケーションに統合できますか。これは商用製品ですが、警告があります。

(完全な開示:私はこの会社で働いているので、私が言うすべてを一粒の塩で取ります)

2
daniel.herken

2014年の更新:

geckofx を使用します。これは(この記事の執筆時点で)最新のFirefoxリリースで最新の状態を維持する健全なオープンソースプロジェクトです。

Chromeを埋め込むには、 Chromium Embedded Framework(CEF) に基づいて、別の健全なオープンソースプロジェクト Xilium.cefGlue を検討します。

これらは両方ともWPFとWinformsをサポートし、両方のプロジェクトは.netとmonoをサポートしています。

2
John Hatton