我在PHP桌面上添加了一个菜单栏,该菜单栏在我的脚本中具有如下所示的链接

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

在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时,我的代码崩溃。

最佳答案

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);
}

08-28 17:35