我可以在C++中使用的最小的嵌入式浏览器是什么?

use*_*898 7 c++ embedded-browser

我需要使用HTML/CSS/JavaScript以及所有跨平台的C++后端来构建我的应用程序GUI.我用QtWebKit,XULRunner和Mozilla 进行了简单的测试.

从简单的测试中我注意到一些非常重要的东西,它是浏览器库/框架的部署大小.它很大:8 MB及以上.

我错过了某种较小的嵌入式浏览器吗?

Sta*_*ked 5

我不知道其他平台,但在 Windows 上执行此操作的最小方法是使用系统内置的 Web 浏览器控件。它基于 COM,编程起来可能相当复杂。以下代码让您成为这样的野兽:

HWND htmlWindow = ::CreateWindowExA(
  dwExStyle,
  ATLAXWIN_CLASS,
  "about:blank",
  dwStyle,
  x, y, w, h,
  hwndParent,
  NULL,
  hInstance,
  NULL
);

CAxWindow2 helperWindow;
helperWindow.Attach(htmlWindow);
CComPtr<IWebBrowser2> theWebBrowserControl;
HRESULT hr = helperWindow.QueryControl(&theWebBrowserControl);
Run Code Online (Sandbox Code Playgroud)

上面的代码示例是数周痛苦地尝试理解这个 COM 事物的结果。好吧,希望你觉得它有用……

注意:以上示例取决于 ATL(而非 MFC)。


dmc*_*kee 4

我认为dillo需要 c 调用约定,但它可能可以满足您的需求。没有javascript或flash,或或或,但它确实支持CSS。

再次阅读问题时,我发现您需要 javascript,而 dillo 目前不支持 javascript。对不起。