基于CEF,用.net包装过的Xilium.CefGlue/3,基于此框架可以很方便在你的winform等C/S项目中搭建一个内建的浏览器

Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。
CEFGlue是此C++写就CEF类库的C# 移植版。基于此类库,我们可以很方便的在我们的winform等C/S项目中嵌入Chrome浏览器。
当我们在项目中引入了CEFGlue类库之后,我们还需要引入CEF类库,因为我们需要通过P/Invoke来调用CEF类库的C++方法。因此如果我们想要在我们的C/S项目中引入浏览器就需要通过引入这两个类库了。

大概就介绍到这里了。一开始,我们部门的经理叫我去维护一个已有的项目,并尝试优化。该项目就是一个单机版的应用,由于客户的需要(客户的仓库比较偏远,连不上网,因此,只能用C/S来做,但是界面winform的界面又丑,如果用wpf,又耗内存,而且部门没有回WPF的,如果使用GDI+以及重绘控件,又麻烦,当时他们赶时间,因此就有了此项目-基于Chrome内核的CB/S项目)。经理叫我去了解下,项目代码都给我了,一开始就是懵逼啊,尽管以前玩过webbrowes控件,但那是基于IE,而且是已经封装好的,引用下就行,不麻烦,这会可以全新的东西,还是没有听过的,于是,就想着自己来试试吧,找资料,然后自己搭个demo,跑起来,这样的话,理解会更深。说干就干,一顿搜狗和百度,找到了一些资料,如下:
基于.net开发chrome核心浏览器【二】
基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统
Xilium.CefGlue与CEF库的版本匹配关系

有了这些基础,不再对CEF两眼抹黑了,当然我没有去研究内核实现。于是我便开始自己搭建了,哎,说起来都是泪啊,满屏的英文资料,看的眼睛疼,不过还是熬过来了,下面介绍下吧,首先给两个官网链接,分别是CEFGlue和CEF的下载路径:
https://bitbucket.org/xilium/xilium.cefglue/downloads/
http://opensource.spotify.com/cefbuilds/index.html
具体怎么用,请参考:
使用CEF(CEFGLUE)作为您的客户端UI(一)

一定要注意CEFGlue和CEF的版本的对应,要不然会有问题。
其次就是CEF版本的下载了:

我一开始下载的是debug和release,这两个都是只有dll的,没有什么用,后来我下载了Simple版的,就是windows Client的,下载解压后把release下的文件复制到了winform bin下的release就可以了.
注意,一定要对应CEF与CEFGlue的版本,下载CEF要下载Simple的那个(就我而言,我是这么多的,其余版本的你要是也可以运行,也可以下载)

从零开始搭建基于CEFGlue的CB/S的winform项目的更多相关文章

  1. 从零开始搭建口袋妖怪管理系统(4)-借助webpack4.6工程化项目(上)

    "手动是不可能手动的了,这辈子都不可能手动的了." 一.目标 上一章我们借助ngRoute,完成了口袋妖怪SPA系统的多模块导航开发,但是现在引用的东西越来越多,项目文件目录开始变 ...

  2. [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld

    首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...

  3. mac下搭建基于vue-cli 3.0的Element UI 项目

    1.安装yarn管理工具(包含node.js); 2.安装全局vue-cli全家桶: yarn global add @vue/cli 3.创建.测试一个vue-cli项目: vue create a ...

  4. 从零开始搭建FAQ引擎--基于ES的字面匹配

    从零开始搭建FAQ引擎--基于ES的字面匹配

  5. 从零开始搭建一个简单的基于webpack的vue开发环境

    原文地址:https://segmentfault.com/a/1190000012789253?utm_source=tag-newest 从零开始搭建一个简单的基于webpack的react开发环 ...

  6. 基于 Hexo 从零开始搭建个人博客(二)

    阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一). 原文链接:基于 Hexo 从零开始搭建个人博客(二) 前言 博客搭建过程遇到任何问题,优先在本页面搜索, ...

  7. 基于 Hexo 从零开始搭建个人博客(五)

    阅读本篇前,请先阅读前几篇文章: 基于 Hexo 从零开始搭建个人博客(一) 基于 Hexo 从零开始搭建个人博客(二) 基于 Hexo 从零开始搭建个人博客(三) 基于 Hexo 从零开始搭建个人博 ...

  8. Linux编程之从零开始搭建RPC分布式系统

    我一毕业进公司就接触到了RPC,主要是使用前辈们搭建好的RPC框架以及封装好的RPC函数进行业务开发,虽说使用RPC框架开发已经近半年了,但一直想知道如何从零开始搭建起这么一个好用的分布式通信系统框架 ...

  9. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

随机推荐

  1. The Ultimate Guide To iPhone Resolutions

    备忘:http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutionshttp://appicontemplate.com/

  2. API创建员工Element

    DECLARE ln_element_link_id PAY_ELEMENT_LINKS_F.ELEMENT_LINK_ID%TYPE; ld_effective_start_date DATE; l ...

  3. Android 四种常见的线程池

    引入线程池的好处 1)提升性能.创建和消耗对象费时费CPU资源 2)防止内存过度消耗.控制活动线程的数量,防止并发线程过多. 我们来看一下线程池的简单的构造 public ThreadPoolExec ...

  4. Cocos2Dv3.4在AppDelegate中不返回的情况及解决

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们通常想在app启动的早期做一些事情,可能放在AppDeleg ...

  5. Spring中Bean多种实现切换方案

    一个公共工程中的Spring配置文件,可能会被多个工程引用.因为每个工程可能只需要公共工程中的一部分Bean,所以这些工程的Spring容器启动时,需要区分开哪些Bean要创建出来.另一种场景是:想通 ...

  6. 【VSTS 日志 15/11/18】 – 插件应用市场,RM,包管理器等

    [小编]从今天开始,我将在这个博客上连载Visual Studio Team Service的定期更新.VSTS是Team Foundation Server 的在线版本,微软每3周会对这个服务进行更 ...

  7. java设计模式---三种工厂模式

    工厂模式提供创建对象的接口. 工厂模式分为三类:简单工厂模式(Simple Factory), 工厂方法模式(Factory Method)和抽象工厂模式(Abstract Factory).GOF在 ...

  8. 【unix网络编程第三版】ubuntu端口占用问题

    <unix网络编程>一书中的代码并不是能直接运行,有时候需要结合各方面的知识来解决,大家在这本书的时候,一定要把代码都跑通,不难你会错过很多学习的机会! 1.问题描述 本人在阅读<U ...

  9. jQuery 异步上传插件 Uploadify302 使用 (JavaEE Spring MVC)

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.而且是Ajax的,省去了自己写Ajax上传功能的麻烦.不过官方提供的实例时php版本的,本文将详细介绍Uploadify ...

  10. Unity 简易的UI背景昼夜轮替效果

    在UI背景上实现一个简易的有光影照射的昼夜轮替效果,往往比一个死板的UI背景看起来更加形象生动,比较传统的方式是多图轮流替换的序列帧动画,不过要达到整个UI背景大图的所有地方都产生光影效果,那么务必每 ...