c++ - 如何将功能齐全的 Web 浏览器嵌入到我的 C++ 应用程序中

标签 c++ windows visual-studio browser wxwidgets

我想创建一个应用程序,它能够在我浏览时从特定网站提取数据(用于单独处理和格式化),并可能在后台自动检索某些特定页面。

网站本身在这里并不重要,但相关的是它在登录后(因此需要 session /cookie 管理)并且它使用了大量的 Javascript (JQuery),尤其是大量的 Ajax 用于实时内容。不过,一个可取之处是它不使用 Flash。

我只需要这个应用程序可以在Windows环境下运行,但需要支持XP和7。而且我不关心它是什么浏览器,只要它功能齐全就行!

因此,我正在尝试找到将功能齐全的浏览器嵌入到我自己的 C++ 应用程序中的最简单方法。首选的 IDE 是 Visual Studio 2008/2010,尽管 Borland C++ 也是一个选项。我的理想目标是使用 WxWidgets(如果我走 VS 路径)来管理 GUI 的其余部分,并且不想在 C#/.net 或 QT 中编程。

  • 我找到了“wxWebConnect” ',它做了很多我需要的,但它不支持 cookies/session,所以它不可用。
  • 我尝试了 Microsoft Web Browser Com组件,但在复杂网站上存在呈现问题。
  • WebKit WX 的路径被放弃。
  • Borland WebBrowser组件也已过时,无法正确呈现复杂页面。
  • 还有许多 search我在这里和其他地方找到的结果要么已经过时,要么无法处理功能齐全的浏览器,要么使用的语言/平台不适合我。

我很确定必须有一个简单的解决方案来解决这个问题,因为我相信许多其他人已经做了类似的事情。我只是暂时找不到它!我已经简要地查看了 Firefox/Chromium 路径,这可能是正确的区域,但到目前为止我还没有找到将它们集成/使用到我自己的 WX 项目中的简单方法。

最佳答案

在 wxWidgets 3.0 中你可以使用 wxWebView ,它是原生 HTML 呈现引擎的包装器,完全支持 CSS、JavaScript 等。默认情况下,它将使用系统 IE 引擎,但您也可以使用它 with Chromium .

关于c++ - 如何将功能齐全的 Web 浏览器嵌入到我的 C++ 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19854468/

相关文章:

c++ - 稀疏读取 50gb 文件

c++ - 如何在模板变量定义中引入static_assert

c++ - 自定义类的 vector

android - 无法运行安卓模拟器

visual-studio - MS建立记录

c++ - 转换 View 的 std::prev 上的未定义行为

windows - MinGW,使用控制台构建 GUI 应用程序

python - WindowsError 关闭后移动 sqlite3 数据库

node.js - 如何从 Windows 中完全删除 node.js

c - visual studio 的内存调试工具