CEF 76+ 内核在编译后即使增加了 ppapi-flash-pathppapi-flash-version 也无法在页面中使用 Flash,在命令行参数中确定两个参数是生效的,如图:

CEF != Chrome,这里无论你怎么点击右键都没有效果,经过一番查询,在 CEF 论坛中找到了可行方案:https://www.magpcss.org/ceforum/viewtopic.php?f=7&t=17068&start=10 经过一番尝试,发现在我们创建主进程(CreateBrowser)的时候将 profile.default_content_setting_values.plugins 设置为 1 就可以了。具体实现代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
CefRequestContextSettings rcsettings;
CefString(&rcsettings.cache_path).FromWString(app_data_path);
auto request_content = CefRequestContext::CreateContext(rcsettings, new ClientRequestContextHandler);
CefString error;
CefRefPtr<CefValue> value = CefValue::Create();
value->SetInt(1);
request_content->SetPreference("profile.default_content_setting_values.plugins", value, error);
CefBrowserHost::CreateBrowser(window_info,
handler,
cached_login_addr ? url : "",
browser_settings,
nullptr,
request_content);

在你的代码中,搜索 CreateBrowser 在创建前,修改 profile.default_content_setting_values.plugins 值即可无需用户交互自动开启 Flash 支持。