【问题标题】:Embedding CEF3 with existing application将 CEF3 嵌入现有应用程序
【发布时间】:2014-07-10 12:31:24
【问题描述】:

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

  1. 是否可以在应用程序中将 CEF3 与现有消息循环一起使用?我不想调用 CEF 消息循环,它可能会影响我的应用程序中的其他内容。
  2. 在示例应用程序中使用消息窗口是绝对必要的吗?我无法理解它的目的。
  3. 当 CEF3 启动多个进程时,它在任务管理器中如何显示?如果我的应用名称是 A.exe,是否会在任务管理器中多次显示 A.exe?

非常感谢任何帮助。

【问题讨论】:

    标签: chromium-embedded


    【解决方案1】:
    1. 对于 Windows 用户,可以使用多线程消息循环 (CefSettings)。它允许通过自己的消息循环维护浏览器窗口。但是有一个很好的做法是使用单线程消息循环, - 您可以在空闲或一些其他事件上定期调用 CefDoMessageLoopWork。即使有现有的消息循环也是可能的。

    2. 我不确定你的意思。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-31
        • 2022-07-08
        • 1970-01-01
        相关资源
        最近更新 更多