使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
2016-09-23 00:00
1611 查看
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!
在本文中,你会学到如何轻松地将奇妙的CefSharp网页浏览器组件(基于Chromium)集成到你的C# app中。
然后,你可以使用此web浏览器:
给用户提供一个集成的浏览体验
用HTML / JavaScript编程添加嵌入式界面
用于web自动化
CefSharp可靠,快速,完全开源,不需要任何额外的依赖就可以安装到最终用户(除VC ++ Runtime 2013以外)。
在本指南中,我们将使用WinForms项目,但CefSharp同样可工作于WPF项目。
项目
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之中)
5.添加以下代码:
复制到
复制到代码段:
在调用
你的代码最后应该是这样的:
运行吧!
6.按F5键,你会看到谷歌主页!
如果你收到此错误,请确保你安装了Visual C ++ 2013 Redistributable。
如果你得到这个错误,它意味着你在64位的PC上,而你的app用AnyCPU模式构建。你需要改变为x86或x64模式:
打开Solution Explorer面板
右键点击你的项目>Project Properties
单击Build标签
更改Platform target为x86或x64
WebExpress
WPF。带有建议、多个标签、下载、书签、历史记录的地址栏。
<作者未提供截图>
SharpBrowser
Windows Forms。地址栏,多标签,下载。
介绍
以前曾试过在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模式:
打开Solution Explorer面板
右键点击你的项目>Project Properties
单击Build标签
更改Platform target为x86或x64
全功能浏览器
如果你正在寻找一个全功能浏览器项目,那么检查这些用C# CefSharp构建的开源浏览器。WebExpress
WPF。带有建议、多个标签、下载、书签、历史记录的地址栏。
<作者未提供截图>
SharpBrowser
Windows Forms。地址栏,多标签,下载。
相关文章推荐
- 转-使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
- 使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
- 在 C# App 中嵌入 Chrome 浏览器使用 CefSharp
- C# App 中嵌入 Chrome 浏览器
- 【APP接口开发】chrome浏览器DHC工具安装使用(亲测有效)
- 偶决定开始使用 Chrome 作为默认浏览器了
- 各种浏览器的使用体验,最终选择——Chrome
- Tip #8 在app_code文件夹内同时使用C#和VB.Net
- 7月份全球浏览器使用排行 IE下降Chrome上升
- C# 使用默认浏览器带网页
- 偶决定开始使用 Chrome 作为默认浏览器了
- 如何嵌入并使用 C# 来访问资源
- C# 的winform中使用数据库连接字符串 -- app.config
- Flock官方宣布,对其浏览器产品支持已经结束,请支持者使用Chrome或Firefox
- 我为什么使用Firefox浏览器而不是Chrome
- Tip #8 在app_code文件夹内同时使用C#和VB.Net
- 解决ibus在google chrome / chromium 浏览器中使用Backspace后无法输入文字的问题
- 浏览器IE8 ,Firefox,世界之窗,Chrome使用之感受
- Chrome(12)中使用getComputedStyle获取透明度(opacity)返回字符串不同于其它浏览器
- C#使用Firebird嵌入版数据库