将CEF3与现有应用程序嵌入

时间:2014-05-21 17:47:45

标签: chromium-embedded

我有一个正在运行的WIN32应用程序。在这个应用程序中有一个窗口,我想使用CEF3显示Web内容。但是,我遇到问题,整个窗口变白,没有显示任何网页内容。所以我有以下问题:

  1. 是否可以在应用程序中使用CEF3和现有的消息循环?我不想调用CEF消息循环,它可能会影响我的应用程序中的其他内容。
  2. 是否必须像在示例应用程序中一样使用消息窗口?我无法理解其目标。
  3. 当CEF3启动多个进程时,它如何在任务管理器中显示?如果我的应用程序名称是A.exe,它是否在任务管理器中多次显示A.exe?
  4. 非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

  1. 对于Windows用户,可以使用多线程消息循环(CefSettings)。允许通过自己的消息循环维护浏览器窗口。但是有一个好的做法是使用单线程消息循环, - 你可以在空闲或一些其他事件上周期性地调用CefDoMessageLoopWork。即使使用现有的消息循环也可以。

  2. 我不确定你的意思。

  3. CefSettings.BrowserSubprocessPath指定将用于子进程的可执行文件。当您将其集成到其他进程中时,看起来它是一种可能的解决方案,在任务管理器中,您将看到命名它的进程。

答案 1 :(得分:0)

关于问题2: 每个Windows应用程序都有自己的“主窗口”和wndProc,它接收他的孩子发送的所有消息。 示例win32 cefclient显示了如何在应用程序的消息循环中集成cef消息循环。 如果您不以正确的方式处理和发送cef消息,则浏览器窗口将变为白色。