Cef与MFC联合开发中,使用CFileDialog导致阻塞

weixin_38088281 2015-08-24 11:17:27
 开发四年只会写业务代码,分布式高并发都不会还做程序员?->>>    使用cef_binary_3.2171.1979_windows32 和MFC,在VS2013环境下进行开发 错误再现流程 1、JS接收网页点击按钮事件, 2、使用Cef的V8Handler中的Excute转发消息到CefClient的OnProcessMessageReceived中,实现Render进程到Browser进程(主进程)切换 3、在CefClient中使用SendMessage发送消息给MFC窗口,实现Cef线程到主线程切换 4、在MFC窗口的消息处理函数中使用:        CFileDialog dlg(TRUE);        dlg.DoModal();    // 程序阻塞在这里,但是窗口没有显示 输出窗口提示信息: WARNING: Visual Leak Detector: A module, xmllite.dll, included in memory leak detection   does not have any debugging symbols available, or they could not be located.   Function names and/or line numbers for this module may not be available. “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\linkinfo.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\RpcRtRemote.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\SearchFolder.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\StructuredQuery.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\mssprxy.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\IconCodecService.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\mssvp.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已卸载“C:\Windows\SysWOW64\mssvp.dll” “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\mssvp.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\mapi32.dll”。无法查找或打开 PDB 文件。 线程 0x778 已退出,返回值为 0 (0x0)。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\thumbcache.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\shdocvw.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\ntshrui.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\ieframe.dll”。无法查找或打开 PDB 文件。 “Test.exe”(Win32):  已加载“C:\Windows\SysWOW64\api-ms-win-downlevel-shell32-l1-1-0.dll”。无法查找或打开 PDB 文件。
...全文
86 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
cef3 mfc 测试demo windows vs2015工程 windows vs2015mfc开发的嵌入式浏览器DEMO,完整工程,包含了库文件libcef_dll_wrapper.lib和libcef.lib。 1、库版本为cef_binary_3.2704.1414.g185cd6c_windows32,引用于http://opensource.spotify.com/cefbuilds/index.html。 如需要其它版本或VS2013/vs2017等编译的库,可以去opensource.spotify.com下载自行编译,编译需要安装 cmake. 2、工程引用于https://github.com/xiaonaiquan/CEF3,github上缺少了上面的库。 3、此工程为MFC工程,只适用于WINDOWS。opensource.spotify.com的原装示例不是MFC的,而是标准windows库的。 使用cef版本为cef_binary_3.2704.1414.g185cd6c_windows32 此demo编译,VS2015 实现了C++和js交互 使用CEF时,加载的网页,如果里面有链接,指定target=”_blank”,则会弹出一个新的浏览窗口。如果想禁掉,让新页面在当前浏览窗口显示,可以在browser进程的handler里重写CefLifeSpanHandler的OnBeforePopup方法,用browser的mainFrame加载popup请求的url 使用flash的方法在我CSDN博客,把代码加入进来就可以了。 browser和render进程分别继承CefAPP test.html是网页测试用例 解决flash有黑框 : http://blog.csdn.net/zhuhongshu/article/details/77482985 实现下载功能(是网页上触发下载,并不是MFC触发下载) GO按钮增加了快捷键回车 增加F5刷新 增加前进和后退按钮 增加右键和F12开发者选项调试网页 增加cookie 参考 : https://github.com/xiaonaiquan/CEF3 http://opensource.spotify.com/cefbuilds/index.html

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧