关于CEF
近期由于工作需要开始研究了Google的Chromium Embedded Framework(CEF),这是一个基于Google Chromium开源代码的项目,使用CEF可以很方便的在你自己程序中显示Web。简单的调研后发现,现在很多主流的客户端都使用了CEF来显示Web页面:网易云音乐、QQ、豌豆荚等(安装目录下可以找到libcef.dll)。
下载CEF
我使用的是3.1650.1562版本,CEF的发布版本在这里下载http://www.magpcss.net/cef_downloads/,页面下方的Download List表格中列出的是最新的发布版本(包括Windows、Linux、MacOS平台的32、64位版本)。我下载的是cef_binary_3.1650.1562_windows32,如果表格中的版本不是3.1650.1562,可以点击 older (deprecated) versions去找到。下载到本地之后解压缩到本地文件夹(我解压到了D:\cef_binary_3.1650.1562_windows32),打开文件夹后使用VS2010开打cefclient2010.sln,可以看到两个项目:cefclient、libcef_dll_wrapper。编译Debug版本的cefclient项目,确保可以编译通过,此时会在out目录下(我的目录是D:\cef_binary_3.1650.1562_windows32\out\Debug)生成相应的文件,运行cefclient.exe会显示出Google的页面。cefclient是如何使用cef的一个例子,具体可以参考项目代码。
将CEF嵌入到单文档程序中
在VS2010中,点击菜单项文件-》新建-》项目,选择MFC应用程序,项目名称命名为:CEFBrowser,项目位置根据你上面的解压缩位置而定,我的是D:\cef_binary_3.1650.1562_windows32,解决方案选择“添加到解决方案”,点击“确定”。如下图所示:
在“应用程序类型”中选择“单个文档”,MFC的使用选择“在静态库中使用MFC”,其余的选项默认,点击“完成”。可以看到在解决方案中新添加了CEFBrowser项目。