C# : CEF操作
代码挺差的,仅供学习、参考
class CEFGlueLoader
{
class CefAppImpl : CefApp
{
protected override void OnBeforeCommandLineProcessing(string processType, CefCommandLine commandLine)
{
commandLine.AppendArgument("enable-npapi");
commandLine.AppendSwitch("enable-media-stream", "enable-media-stream");
commandLine.AppendSwitch("process-per-site");
commandLine.AppendSwitch("ppapi-flash-version", "23.0.0.185");//PepperFlash\manifest.json中的version
commandLine.AppendSwitch("ppapi-flash-path", "PepperFlash\\pepflashplayer.dll");
}
} public static void InitCEF()
{
#if !_ORG_MANAGER && !_MBMAKER
CefRuntime.Load();
string[] args = new string[];
var mainArgs = new CefMainArgs(args);
var app = new CefAppImpl();
var exitCode = CefRuntime.ExecuteProcess(mainArgs, app);
System.Diagnostics.Trace.WriteLine("CefRuntime.ExecuteProcess return: " + exitCode);
if (exitCode != -)
{
return;
} var settings = new CefSettings
{
BrowserSubprocessPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\Cef3Process.exe"),
SingleProcess = false,
MultiThreadedMessageLoop = true,
LogSeverity = CefLogSeverity.Default,
LogFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"log\CefGlue.log"),
CachePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"cache"),
CommandLineArgsDisabled = true,
Locale = "zh_CN",
LocalesDirPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\locales"),
RemoteDebuggingPort = , };
CefRuntime.Initialize(mainArgs, settings, app); if (!settings.MultiThreadedMessageLoop)
{
System.Windows.Forms.Application.Idle += (sender, e) => { CefRuntime.DoMessageLoopWork(); };
}
#endif
} private static string GetPath(string v)
{
return Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, v));
} public static void ShutDownCEF()
{
#if !_ORG_MANAGER && !_MBMAKER
try
{
CefRuntime.Shutdown();
}
catch (Exception)
{
}
#endif
}
}
C# : CEF操作的更多相关文章
- CEF 支持JSON操作
转载:https://blog.csdn.net/foruok/article/details/50687864(解析json) 转载:https://blog.csdn.net/foruok/art ...
- cisco 下CEF(简介)[转载]
cisco 下CEF(简介) 转自:http://blog.51cto.com/chengmingshu/803358 cms_cmd1人评论2570人阅读2012-03-12 00:09:29 ...
- qt添加cef库嵌入web [转]
qt cef嵌入web 原文http://blog.sina.com.cn/s/blog_9e59cf590102vnfc.html 最近项目需要,研究了下libcef库. Cef(Chromium ...
- 使用C#在CEF中拦截并响应请求
一.前言 忙里偷闲,研究了一下如何在CEF中拦截请求,并作出响应.这个功能对某些需要修改服务器响应的需求来说必不可少,可以直接读取本地文件作为响应内容. C#的CEF封装项目有很多,我使用的是Chro ...
- Duilib嵌入CEF以及JavaScript与C++交互
转载:http://blog.csdn.net/foruok/article/details/50573612 转载:http://blog.csdn.net/foruok/article/detai ...
- 初识CEF
介绍 CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目.Google Chromium项目主要是为Google Chrome应用开 ...
- CEF使用的几个注意点
CEF为chrome浏览器的切入其他浏览器中的轻量级框架. 开发的客户端的时候,这是作为界面显示的首先,可以增强客户的易变性,可塑性. 在开发的过程中(侧重于C,C++解决),遇到的几个问题,以及自己 ...
- 允许CEF跨域访问iframe
默认情况下,如果嵌入本地Web页面,并在页面内部使用iframe来显示一个在线页面,加载的过程中会触发一个未捕获异常,虚函数CefV8ContextHandler::OnUncaughtExcepti ...
- CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium
CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报 分类: CEF(2) 目录(?)[+] ...
随机推荐
- JS for循环 闭包
对于for循环的闭包问题的理解,认为需要理解函数中的变量的作用域链的概念 另外提及下变量提升的概念 如下例子: var ar = [];for(var i=1:i<10; i++){ ar[i] ...
- JMeter--集合点设置(转)
集合点:简单来理解一下,虽然我们的"性能测试"理解为"多用户并发测试",但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点, ...
- Nodejs:precss模块 & autoprefixer模块
模块precss:可以通过他管理文件系统,文件的写入,删除等操作 模块autoprefixer: autoprefixer可以对sass处理过后的css再处理,解析CSS文件并且添加浏览器前缀到CSS ...
- java常见面试题及答案 11-20(JVM篇)
11.JVM内存分哪几个区,每个区的作用是什么? Java虚拟机主要分为以下一个区: 方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区 ...
- 数字和为sum的方法数
[编程题] 数字和为sum的方法数 给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数. 当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案. 输入描 ...
- 给inpu加背景图,input内容又不能盖着背景图
问题: 根据需要,给input添加背景图片,又需要点击input及input的这个背景触发事件,但是给input输入内容多时,会覆盖此背景(如下图), 图中,java人员使用插件省市区三级联动,需要i ...
- django--一对多,多对多查询
假设有表的关系如下: class Classes(models.Model): name = models.CharField(max_length=32) institute = models.Ch ...
- MVC 上传 下载
[上传]带进度条 view 注:添加easyui的js文件 <script type="text/javascript"> function fileSelected ...
- 【leetcode】两数之和
https://leetcode.com/problems/two-sum/ Example: Given nums = [2, 7, 11, 15], target = 9, Because num ...
- Python 下的unittest测试框架
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...