博客日历
2024年05月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
存档
2024年03月 04月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
LibCef的使用6-退出时崩溃的问题
上面的程序在退出时,会崩溃(Release模式不会崩溃)。
接下来把libcef.dll.pdb解压到我们的程序目录,调试运行,看一下崩溃点。
调试发现崩溃在:
libcef.dll!`anonymous namespace'::CefShutdownChecker::~CefShutdownChecker()
这是网上文章中使用较多的关闭流程,但在Debug模式下仍然会在退出后崩溃。
bool MyCefClient::DoClose(CefRefPtr<CefBrowser> browser) { base::AutoLock lock_scope(lock_); browser_ = NULL; // 返回false之后,主窗口会再次收到WM_CLOSE return false; } void CHelloCefDlg::OnClose() { CefRefPtr<CefBrowser> browser = handler->GetBrowser(); if (browser != NULL) { // 此时触发DoClose // 但会导致OnBeforeClose不执行 browser->GetHost()->CloseBrowser(false); return; } CDialogEx::OnClose(); }
因此,我们以后就只使用Release版本吧(暂时)。
分类:Win32/C++ 查看次数:461 发布时间:2020/5/6 8:00:52
LibCef的使用5-所有链接在同一窗口打开
打算嵌入在窗口内使用,不需要弹出新窗口(也没有选项卡)。
这一次,我们需要实现的接口函数是:
bool MyCefClient::OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, const CefString& target_url, const CefString& target_frame_name, WindowOpenDisposition target_disposition, bool user_gesture, const CefPopupFeatures& popupFeatures, CefWindowInfo& windowInfo, CefRefPtr<CefClient>& client, CefBrowserSettings& settings, CefRefPtr<CefDictionaryValue>& extra_info, bool* no_javascript_access) { switch (target_disposition) { case WOD_NEW_FOREGROUND_TAB: case WOD_NEW_BACKGROUND_TAB: case WOD_NEW_POPUP: case WOD_NEW_WINDOW: browser->GetMainFrame()->LoadURL(target_url); return true; //停止创建 } return false; }
分类:Win32/C++ 查看次数:443 发布时间:2020/5/5 8:00:06