C ++ PHP桌面和CEF使LoadUrl()崩溃

时间:2019-03-05 14:19:18

标签: php c++ desktop chromium-embedded phpdesktop

我向PHP桌面添加了一个菜单栏,该菜单栏在我的脚本中具有这样的链接

Menu

在C ++代码中,我使用WindowProc

case IDM_ACCOUNT:
        CefWindowInfo windowInfo;
        CefBrowserSettings browser_settings;

        CefRefPtr<CefBrowser> cefBrowser;
        CefRefPtr<CefFrame> frame = cefBrowser->GetMainFrame();

        std::string startupURL = "http://127.0.0.1:9990/account/";

        frame->LoadURL(startupURL);

        break;

当我从应用程序的菜单mainBrowser中选择任何内容以转到此URL时,我的代码崩溃。

1 个答案:

答案 0 :(得分:0)

cefBrowser变量包含一个空的CefBrowser对象。请改用以下代码:

// browser variable already defined in main.cpp in WindowProc
browser = GetBrowserWindow(hwnd);
if (browser && browser->GetCefBrowser()) {
    CefRefPtr<CefFrame> frame = browser->GetCefBrowser()->GetMainFrame();
    std::string startupURL = "http://127.0.0.1:9990/account/";
    frame->LoadURL(startupURL);
}