使用CefSharp 在C#用戶控件中嵌入Chrome瀏覽器使用方法


CEF(Chromium Embedded Framework, 嵌入式Chromium框架)是C/C++開發的庫
目前 Google Chrome(Google瀏覽器),Chromium瀏覽器,Opera等都是基於CEF為核心,Webkit引擎的瀏覽器。


Xilium.CefGlue是對CEF項目的.net的包裝,它是用P/Invoke的方式來調用CEF類庫。
CEFSharp是用C++/CLI的方式來調用CEF類庫的。

 

原先使用的是Xilium.CefGlue,如果只是單純在窗口上實現的話是沒問題的,由於我的需要做成用戶控件,所以導致調用的時候一些dll文件無法調用到,用戶控件無法正常加載到WinForm窗口上,后來改用CEFSharp

 

一. 開發環境


VS2010 +  CefSharp 49.0.1

 

二. 開發步驟(以CefSharp為例)

1. 新建Windows窗體應用程序 GoogleWebBrowserControl,使用.NET FrameWork 4.0,這里需要注意:CefSharp和.NET FrameWork版本要相對應。

2. 在生成=》配置管理器中,將活動解決方案平台改成 x86 (CEF不能自適應 x86 | x64,必須選擇一個目標),目標平台也必須和解決方案平台一致。


3. 針對VS2010,默認是沒有NuGet包管理器,需要在VS工具條—擴展管理器中添加NuGet程序包管理器

4.打開 NuGet 程序包管理器控制台:工具=>NuGet 程序包管理器=》程序包管理器控制台。搜索CefSharp.WinForm,選擇版本和需要添加的項目,安裝后會將所有需要的文件加入選擇的項目中,並且將dll文件加入引入。

5.如果你已將CefSharp所有需要的文件已下載到本地,則第3、4步不需要操作,直接將下載的文件加入項目的Debug下,將CefSharp.Core.dll、CefSharp.dll、CefSharp.WinForms.dll文件引入項目中。

 

6.代碼編寫

 

注意:用戶控件生成谷歌內核瀏覽器控件時,不能在用戶控件中直接加載谷歌內核瀏覽器控件初始化的代碼,必須到使用用戶控件的頁面中調用該方法。否則報錯。
// 可選: (查看與cef有關的程序包)

 7.新建項目,在項目中使用此用戶控件,在后台代碼中直接調用

 執行后結果如下:

 

源碼無法上傳


免責聲明!

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



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