作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 mfc dll 中使用 Chromium 嵌入式框架。因此,我创建了一个 mfc 测试 exe 并测试了 cef 的简约实现(有效)。我的下一步是使用测试 mfc dll 执行完全相同的操作。代码几乎相同,但是cef浏览器窗口不会出现。
应用程序卡在 CefInitialize() 中并且不会返回。经过调试,我发现它卡在了 WaitForSingleObject/WaitForMultipleObject windows api 中。
BOOL CMyBrowserDllApp::InitInstance()
{
HINSTANCE hInstance = GetModuleHandle(NULL);
CefMainArgs main_args(hInstance);
CefSettings settings;
settings.no_sandbox = true;
settings.multi_threaded_message_loop = true;
// Execute the secondary process, if any.
int exit_code = CefExecuteProcess(main_args, cefApplication.get(), NULL);
if (exit_code >= 0)
return exit_code;
if(!CefInitialize(main_args, settings, cefApplication.get(), NULL))
{
OutputDebugStringA("Error: CefInitialize failed");
}else
OutputDebugStringA("Info: CefInitialize succeeded");
CWinApp::InitInstance();
return TRUE;
}
如果直接在 mfc exe 中使用,相同的实现也可以工作。
最佳答案
GetModuleHandle
返回 exe 的基址,而不是 dll。您可能想要隐藏来自以下位置的 dll 库:
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, void *reserved)
关于mfc - CefInitialize 无法在 mfc dll 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404897/
我想在 mfc dll 中使用 Chromium 嵌入式框架。因此,我创建了一个 mfc 测试 exe 并测试了 cef 的简约实现(有效)。我的下一步是使用测试 mfc dll 执行完全相同的操作。
我是一名优秀的程序员,十分优秀!