解决cef加载flash时弹出黑框的问题
来源:互联网 发布:exe软件 编辑:程序博客网 时间:2024/06/07 03:43
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/77482985
使用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命令行窗口的问题
方法三:
在群里夏思畅大神今天告诉我的方法,直接在自己程序的目录下建立一个名为cmd.exe
的程序就可以(可以直接新建个文本文档,改名为cmd.exe)。因为弹出黑框需要使用cmd程序,而系统搜索程序是从进程当前的工作目录开始查找,所以直接这样做可以拦截cmd的调用。这个方法最简单,实用性最强!
为了程序更通用,可以在程序启动时加代码,在自己程序目录建立dummy_cmd.exe
,修改一下自己进程ComSpec
环境变量(表示的就是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
阅读全文
1 0
- 解决cef加载flash时弹出黑框的问题
- cef加载flash弹出黑框问题
- CEFGlue 加载FLASH 使用HOOK 方式 解决 CEF 加载 PPAPI FLASH 插件时弹出 CMD 命令行 窗口的问题
- CEF加载FLASH插件时弹出CMD命令行窗口的问题
- CEF无法加载flash的问题
- cef 3.2357版本之后无法加载flash的问题
- CEF 加载flash 插件
- CEF 加载flash 插件
- cef下加载flash
- cef3加载flash崩溃问题的解决
- Windows下cef flash问题
- 解决弹出层被Flash挡住的问题
- 解决easyDialog弹出框加载延时图片的时候不居中问题
- 如何解决vs的debug黑框一闪而过的问题
- Android解决自定义Dialog出现黑(白)框的问题
- 关于可执行程序 执行后 弹出“兼容性助手” 和 cef 客户端 titel无法显示的问题。
- 解决ListView滑动时出现黑边的问题
- [iOS]解决键盘弹出时挡住输入框的问题
- 数字三角形
- ios-单例模式饿汉式&GCD&懒汉式&宏方式的实现和条件编译
- UnityC#常见面试题
- pageheap的使用和原理分析
- java数组判断是否含有某个元素
- 解决cef加载flash时弹出黑框的问题
- NYOJ【206】矩形的个数【数学】
- react-native实现文件上传
- 通过URL获取并下载网络资源
- 深度学习小trick收集
- linker源码解析,脱壳点,在分析过程中产生的反调试思路
- Flex弹性盒模型
- 三个实例演示 Java Thread Dump 日志分析
- hive 中的map join 操作