解决cef加载flash时弹出黑框的问题
转载请说明原出处,谢谢~~:http://www.voidcn.com/article/p-dsakkbrc-bqb.html 使用cef时,如果没有使用sandbox,并且开启了flash插件,在第一次使用flash时会弹出个黑框。这是flash插件的bug。目前找到三种解决办法: 方法一:编译程序时加入cef_sandbox.lib静态库,自然就不会出现黑框了。但是为了加入cef_sandbox.lib,有时候会很麻烦,比如:如何编译出cef2623中的cef_sandbox.lib静态库,为了加入cef_sandbox.lib还需要修改一些项目配置,同时启用沙盒后,在某些电脑中会导致子进程无法创建,需要自己另外做一些处理。总之就是使用沙盒很麻烦 方法二:使用HOOK的方法,拦截创建进程的API,阻止黑框(实际就是cmd程序)弹出,详见:CEF加载FLASH插件时弹出CMD命令行窗口的问题 方法三:在群里夏思畅大神今天告诉我的方法,直接在自己程序的目录下建立一个名为 为了程序更通用,可以在程序启动时加代码,在自己程序目录建立 WCHAR app_path[MAX_PATH] = { 0 };
GetModuleFileName(NULL,app_path,MAX_PATH);
PathRemoveFileSpec(app_path);
std::wstring cmd_path = app_path;
cmd_path += L"dummy_cmd.exe";
SetEnvironmentVariable(L"ComSpec",cmd_path.c_str());
Redrain QQ:491646717 2017.8.22(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |