在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-创建简单浏览器

  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-创建简单浏览器
  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-JS 调用 C#
  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-C# 调用 JS
  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-WebView 缺点

CEF:Chromium Embedded Framework。

它依赖如下项目:

  • Chromium:基础,网络堆栈,线程,消息机制,log,进程控制,生成 Web browser。
  • WebKit:提供 DOM 解析,布局,事件处理,渲染,HTML5 JS 的 API。
  • V8:JS 引擎。
  • Skia:2D 图形库。
  • Angle:3D 图形转换,和 DirectX 有关。

版本

  • CEF1:单进程工具调用 Chromium Webkit API。
  • CEF2:多进程工具建立在 Chromium Browser。
  • CEF3:多进程工具调用 Chromium Content API。

使用

首先在 http://www.benshu.com/tools/downloads/Cef.zip 下载文件包。

一、将文件解压拖入到 Visual Studio 对应的 WinForm 项目的根目录,即这些 dll 就直接放在项目根目录下,不要将 dll 包在某个文件夹中(至少我这里不能包在文件夹中)

二、在解决方案中,在这些文件上右键,选择属性,在“复制到输出目录”中选择“始终复制”(不要忘了 locales 中的文件也要这样操作)。

三、项目上右键添加引用:CefSharp.dll、CefSharp.WinForms.dll

四、在 WinForm 相应的位置使用类似如下的代码:

五、如果遇到如下错误:

warning MSB3270: 所生成项目的处理器架构“MSIL”与引用“CefSharp, Version=1.25.0.25466, Culture=neutral, processorArchitecture=x86”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改您的项目的目标处理器架构,以使您的项目与引用间的处理器架构保持一致,或者为引用关联一个与您的项目的目标处理器架构相符的处理器架构。

则在项目上右键,属性,切换到“生成”标签,在“常规”->“平台目标”中选择:x86。

浏览器开发完成,以下操作在 .NET Framework 3.5 SP1 中测试通过。更高级应用请参见网上其他资料或自行摸索。

  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-创建简单浏览器
  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-JS 调用 C#
  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-C# 调用 JS
  • 在 .NET 中用 Cef 代替 WebBrowser 开发基于 Chrome 内核的浏览器-WebView 缺点

你可能感兴趣的