当前位置: 首页 > news >正文

CEF类笔记-cef_app

cef_app.h

int CefExecuteProcess(const CefMainArgs& args, CefRefPtr<CefApp> application, void* windows_sandbox_info);

应该从应用程序入口点函数调用此函数以执行辅助进程。它可用于从浏览器客户端可执行文件(默认行为)或由CefSettings.browser_subprocess_path的值指定的单独可执行文件运行辅助进程。如果为浏览器进程调用(在命令行中没有“type”进行标识),它将立即返回值-1。如果为可识别的辅助进程调用,它将阻塞,直到该进程应该退出然后返回进程退出代码。application 参数可以为空。windows_sandbox_info参数仅在windows上使用,可以为空(请参阅 cef_sandbox_win.h获取详细信息)。

bool CefInitialize(const CefMainArgs& args, const CefSettings& settings, CefRefPtr<CefApp> application, void* windows_sandbox_info);

应该在主应用程序线程上调用此函数以初始化CEF browser进程。application参数可以为空。返回值true表示成功,返回值false表示失败。

void CefShutdown();

应该在主应用程序线程上调用此函数,以便在应用程序退出之前关闭CEF browser进程。

void CefDoMessageLoopWork();

执行CEF消息循环处理的单个迭代。此函数用于CEF消息循环必须集成到现有应用程序消息循环中的情况。不建议大多数用户使用此函数;如果可能的话,请使用CefRunMessageLoop()函数或CefSettings.multi_threaded_message_loop。在使用这个函数时,必须注意平衡性能和CPU的过度使用。建议启用CefSettings.external_message_pump选项,以便CefBrowserProcessHandler::OnScheduleMessagePumpWork()回调可以促进调度过程。此函数只能在主应用程序线程上调用,并且只能在使用CefSettings.multi_threaded_message_loop值为false。此功能不会阻塞。

void CefRunMessageLoop();

运行CEF消息循环。使用此函数而不是应用程序提供的消息循环,以在性能和CPU使用之间获得最佳平衡。此函数只能在主应用程序线程上调用,并且只能在使用CefSettings.multi_threaded_message_loop值为false。此功能将一直阻塞,直到系统接收到退出消息。

void CefQuitMessageLoop();

退出通过调用CefRunMessageLoop()启动的CEF消息循环。此函数只能在主应用程序线程上调用,并且只能在使用CefRunMessageLoop()时调用。

void CefSetOSModalLoop(bool osModalLoop);

在调用诸如TrackPopupMenu之类的Windows api(这些api进入模式消息循环)之前设置为true。退出模式消息循环后设置为false。

void CefEnableHighDPISupport();

在进程启动期间调用以在Windows 7或Windows 7上启用高DPI支持新的。旧的Windows版本应该让DPI不知道,因为它们不支持DirectWrite,而且GDI字体的紧排非常严重。

CefApp

实现此接口以提供处理程序实现。方法将由指定的进程和/或线程调用。

virtual void OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr<CefCommandLine> command_line) {}

提供了在CEF和Chromium处理之前查看和(或)修改命令行参数的机会。浏览器进程的process_type值将为空。不要保留对传递给此方法的CefCommandLine对象的引用。这个CefSettings.command_line_args_disabled的值可用于从空命令行对象开始。在调用此方法之前,将设置CefSettings中指定的、等同于命令行参数的任何值。使用此方法修改非浏览器进程的命令行参数时要小心,因为这可能会导致未定义的行为,包括崩溃。

virtual void OnRegisterCustomSchemes(CefRawPtr<CefSchemeRegistrar> registrar) {}

提供注册自定义方案的机会。不要保留对“注册器”对象的引用。在每个进程的主线程上调用此方法,并且在所有进程中注册的方案应该相同。

virtual CefRefPtr<CefResourceBundleHandler> GetResourceBundleHandler() {
    return nullptr;
}

返回资源包事件的处理程序。如果CefSettings.pack_loading_disabled为true,则必须返回处理程序。如果没有返回处理程序,将从包文件加载资源。此方法由浏览器调用,并在多个线程上渲染进程。

virtual CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() {
    return nullptr;
}

返回浏览器进程特定功能的处理程序。在浏览器进程中的多个线程上调用此方法。

virtual CefRefPtr<CefRenderProcessHandler> GetRenderProcessHandler() {
    return nullptr;
}

返回特定于呈现过程的功能的处理程序。在渲染进程主线程上调用此方法。

相关文章:

  • cef_client.h
  • cef_browser.h
  • C++ List的用法(整理)
  • cef_v8.h
  • SendMessage 用法详解及消息详解
  • TCP协议下的recv函数
  • CEF网址打不开,提示Check failed: fallback_available == base::win::GetVersion() > base::win::VERSION_WIN8
  • Mt.exe
  • 你所不知道的C和C++运行库
  • 静态库和动态库冲突
  • dll搜索顺序
  • 嵌入V8入门
  • V8编程详解
  • 代理服务器
  • sqlite加密
  • Asm.js的简单介绍
  • centos安装java运行环境jdk+tomcat
  • create-react-app项目添加less配置
  • Druid 在有赞的实践
  • Facebook AccountKit 接入的坑点
  • java2019面试题北京
  • laravel with 查询列表限制条数
  • Linux Process Manage
  • mongodb--安装和初步使用教程
  • React Transition Group -- Transition 组件
  • Solarized Scheme
  • spring-boot List转Page
  • Spring核心 Bean的高级装配
  • vue--为什么data属性必须是一个函数
  • 创建一个Struts2项目maven 方式
  • 经典排序算法及其 Java 实现
  • 赢得Docker挑战最佳实践
  • 用 Swift 编写面向协议的视图
  • 栈实现走出迷宫(C++)
  • No resource identifier found for attribute,RxJava之zip操作符
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Spring Boot 分片上传文件
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • !$boo在php中什么意思,php前戏
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #if #elif #endif
  • (007)XHTML文档之标题——h1~h6
  • (差分)胡桃爱原石
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (四)JPA - JQPL 实现增删改查
  • (万字长文)Spring的核心知识尽揽其中
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)ObjectiveC 深浅拷贝学习
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • . Flume面试题
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇