MFC中使用浏览器

Published

在MFC程序中嵌入浏览器控件都是IE内核

1.Microsoft Web Browser

#include <afxinet.h>       //for WinInet
m_sa.Navigate("http://www.baidu.com", NULL, NULL, NULL, NULL);

 

打开网页时会有脚本错误

解决办法:找到控件的属性,把Silent的值改成True就行。

 

WebBrowser1.Silent = True

2、IWebBrowser2控件

IWebBrowser2::put_Silent(TRUE);

2.CHtmlView

具体实现的本质是对于IWebBrowser2(WebBrowser ActiveX 控件)的封装。其实质是利用IWebBrowser2,有效地使应用程序成为一个 Web 浏览器

打开网页时会有脚本错误

解决办法:

1、CHtmlView类或子类

CHtmlView::SetSilent(TRUE);

 

CHtmlView Class

 

3.在MFC中使用Chrome浏览器控件

MFC应用程序中嵌入一个谷歌cef浏览器

vc对话框程序嵌入chrome浏览器

mfc对话框程序中嵌入chrome浏览器,包含完整h、lib、dll。开始下载的最新版开发包CEF 3.3578.1864.gfa073f3,发现程序运行10几秒后,总是会弹出新窗口。后改用稳定版开发包cef3.2623.1401.gb90a3be,该问题得到解决。debug的库也编译过,但是调用时程序会崩溃,因此都使用release的库。

Embedding a Chromium Browser in an MFC Application

Chromium Embedded Framework (or CEF) is an open source project that enables developers to include a Chromium browser in 3rd party applications. The base CEF provides APIs for C and C++ applications, but external projects (not implemented by CEF) support other languages such as C#, Java, Delphi or Python. This article shows how to embed a Chromium browser in an MFC single document interface application.

 

使用WebKit的链库,本篇文章主要是针对嵌入Chrome浏览器控件。

    首先,我们来了解下相关Chrome浏览器控件框架。CEF是Chromium Embedded Framework的缩写,是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Max平台。除了提供C/C++接口外,也有其他语言的移植版,因为基于Chromium,所以CEF支持Webkit & Chrome中实现的HTML5的特性,并且在性能上面,也比较接近Chrome。CEF还提供的如下特性:自定义插件、自定义协议、自定义JavaScript对象和扩展;可控制的resource loading, navigation, context menus等等。

    其次,去http://www.magpcss.net/cef_downloads/下载相应的库,本文用cef_binary_3.1180.823_windows.zip。

C/C++ 打印文件名、行号、函数名的方法

https://blog.csdn.net/cabinriver/article/details/8960119

 

Useful links

WebView2 Edge Browser in MFC C++ Application