C# App 中嵌入 Chrome 瀏覽器使用 CefSharp (CS嵌套BS)


以前曾試過在app中整合一個可靠又快速的web瀏覽器嗎?

在本文中,你會學到如何輕松地將奇妙的CefSharp網頁瀏覽器組件(基於Chromium)集成到你的C# app中。

然后,你可以使用此web瀏覽器:

  • 給用戶提供一個集成的瀏覽體驗
  • 用HTML / JavaScript編程添加嵌入式界面
  • 用於web自動化

CefSharp可靠,快速,完全開源,不需要任何額外的依賴就可以安裝到最終用戶(除VC ++ Runtime 2013以外)。

在本指南中,我們將使用WinForms項目,但CefSharp同樣可工作於WPF項目。

入門

按照以下步驟快速開始CefSharp。

項目

1.用.NET 4.5.2創建一個Windows窗體應用程序(C#)項目

2.對項目命名(如“CefTest”)

 

DLL文件(NuGet方法)

3A)如果你使用的是NuGet,那么你可以從NuGet代碼倉庫抓取CefSharp.WinForms,跳過下面的手動方法。

3B)如果你已經使用了NuGet,那么導航SOLUTION > Configuration Manager,並將你的項目設置為x86或x64,因為目前不支持AnyCPU。

 

DLL文件(手動方法)

如果你使用的是NuGet,那么請跳過此章節!

3A)下載CefSharp二進制文件並解壓它們。

CefSharp v51 x86(32位app)

CefSharp v51 x64(64位app)

3B)右擊你的項目,點擊“Add Reference”,然后選擇“Browse”。

 

3C)選擇這些DLL文件:

CefSharp.dll

CefSharp.Core.dll

CefSharp.WinForms.dll

 

3D)用ZIP選擇所有文件:

 

3E)復制那些文件到項目的Debug文件夾(在Bin之中)

 

代碼

4.右擊你的主窗體,並選擇“View Code”。

 

5.添加以下代碼:

復制到import 部分:

using CefSharp;
using CefSharp.WinForms;

復制到代碼段:

public ChromiumWebBrowser browser;
public void InitBrowser(){ Cef.Initialize(new CefSettings()); browser = new ChromiumWebBrowser ("www.google.com"); this.Controls.Add(browser); browser.Dock = DockStyle.Fill; }

在調用 InitializeComponent()之后就調用InitBrowser():

InitBrowser()

你的代碼最后應該是這樣的:

 

運行吧!

6.按F5鍵,你會看到谷歌主頁!

 

故障排除

一個類型為’System.IO.FileNotFoundException’未處理的異常出現在browser.exe中
其他信息:無法加載文件或’CefSharp.Core.dll’程序集或它的一個依賴。

如果你收到此錯誤,請確保你安裝了Visual C ++ 2013 Redistributable。

一個類型為’System.BadImageFormatException’未處理的異常出現在browser.exe中
其他信息:無法加載文件或’CefSharp.Core, Version=43.0.0.0, Culture=neutral,程序集

如果你得到這個錯誤,它意味着你在64位的PC上,而你的app用AnyCPU模式構建。你需要改變為x86或x64模式:

  1. 打開Solution Explorer面板
  2. 右鍵點擊你的項目>Project Properties
  3. 單擊Build標簽
  4. 更改Platform target為x86或x64

全功能瀏覽器

如果你正在尋找一個全功能瀏覽器項目,那么檢查這些用C# CefSharp構建的開源瀏覽器。

WebExpress

WPF。帶有建議、多個標簽、下載、書簽、歷史記錄的地址欄。

SharpBrowser

Windows Forms。地址欄,多標簽,下載。

 

英文原文:Embedding Chrome in your C# App using CefSharp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM