【问题标题】:Creating two or more CEF browser windows创建两个或更多 CEF 浏览器窗口
【发布时间】:2022-08-17 20:23:10
【问题描述】:

我已经痛苦了两个星期了,请帮助我:

我使用内置的 CEF 示例 - \"cefsimple\" - 它工作正常:https://bitbucket.org/chromiumembedded/cef/src/master/tests/cefsimple/?at=master

\"cefsimple\" 示例创建一个浏览器窗口并在其中打开指定的 URL。

但只要我添加另一个浏览器窗口创建功能:

CefBrowserHost::CreateBrowser(window_info, my_browser_handler_, \"google.com\", browser_settings, nullptr, nullptr);

这就是问题发生的地方。 正在创建第二个浏览器窗口,但出现了一个问题 - 两个创建的窗口似乎不断闪烁,好像在彼此之间快速切换。

我尝试了建议 - 安装:

window_info.ex_style = WS_EX_NOACTIVATE;

但它根本没有帮助。

也许有人在 CEF 中创建了多个窗口浏览器?我究竟做错了什么 ?

  • 我知道这并不能直接回答您的问题,但是我们在 CEF 窗口中加载两个不同网页的应用程序将它们中的每一个都加载为它们自己的应用程序。我们的主应用程序启动两个“CefWin.exe”实例,一个指向 URL“A”,另一个指向 URL“B”。然后,我们使用 Windows 消息在它们之间进行通信。

标签: c++ chromium


【解决方案1】:

我最近遇到了这个问题,这可能会对你有所帮助。

在您的本机窗口 proc 中,使用以下命令处理 WM_SETFOCUS:

if (!::GetFocus())
{
    // set cef focus;
}

如果不调用 ::GetFocus(),两个 cef 窗口将不断闪烁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2010-11-02
    • 1970-01-01
    相关资源
    最近更新 更多