zoukankan      html  css  js  c++  java
  • 使用CEF作为浏览器

    c# 内嵌chrome (CEFSharp)首次

    首先标记一个大坑!!!:

    不管哪个版本,都需要在解决方案---配置管理器---平台---改为X86。否则一直打开是空白的窗口。坑了我一天都快炸了。

    步骤一、创建一个winform应用程序。使用NuGet添加CefSharp。然后安装完成后,完全关闭vs并重新打开。(智障)

    cefsharp45及以上版本需要VC2013:https://www.microsoft.com/en-us/download/details.aspx?id=40784

    步骤二、这个教程说可以配置anycpu。配anycpu需要解决方案属性“首选32位”,改csproj和App.config文件。否则你看引用那一堆小叹号。此方法弃用。既然不能很好的支持anyCpu,就别出方法坑人了= =。最后还需要配置管理器改成平台X86才行。辣鸡。(但是nuget包下载后有个readme,第一条就是确保你设置了X86或X64.不会与anycpu一起工作。所以此攻略说的还是有毛病)

    步骤二、在解决方案右键----“配置管理器”----平台---“X86”.(没找到选项就新建一个)。即可!!

    步骤三、

    using CefSharp;
    using CefSharp.WinForms;
    

      

    public ChromiumWebBrowser chromeBrowser;
    
    public void InitializeChromium()
    {
       CefSettings settings = new CefSettings();
       // Initialize cef with the provided settings
       Cef.Initialize(settings);
       // Create a browser component
       chromeBrowser = new ChromiumWebBrowser("http://ourcodeworld.com");
       // Add it to the form and fill it to the form window.
       this.Controls.Add(chromeBrowser);
       chromeBrowser.Dock = DockStyle.Fill;
    }
    

      此处的settings实例化再Cef去初始。反正是默认的,可以Cef.Initialize();即可

    public Form1()
    {
         InitializeComponent();
         // Start the browser after initialize global component
         InitializeChromium();
    }
    

      

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
         Cef.Shutdown();
    }
    

      

    逻辑:

    一、在form构造函数里,初始化完全局组件后,建立一个初始化方法。

    1、CefSetting实例化一个对象settings

    2、用Cef去初始化settings。------------Cef.Initialize(settings);

    3、实例化ChromiumWebBrower对象(参数是网址)

    4、把对象加载到控件里。设为DockStyle.Fill

    二、关闭窗体

    Cef.Shutdown();

    本文源码项目地址:可fork。(第一个最有用的最简单demo:)

    https://gitee.com/HuLuMiaoMiao/FirstCefSharp.git

    资料:

    gitHub官方解答如何使用CefSharp!!!:

    https://ourcodeworld.com/articles/read/173/how-to-use-cefsharp-chromium-embedded-framework-csharp-in-a-winforms-application

    cef gitHub项目地址:

    https://github.com/cefsharp/CefSharp

    CefSharp.MinimalExample :包括WPF、WinForms等最简单实现

    git@github.com:hulumiaomiao/CefSharp.MinimalExample.git

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

  • 相关阅读:
    springmvc视频学习
    两个数组a和b,都已经升序排列. 查找相同的元素?(要求不使用两层for循环)
    https Java SSL Exception protocol_version
    java多线程笔试题:设计4个线程,其中两个线程每次对j增加1,另外2个线程每次对j减少1.写出程序
    java多线程笔试题:子线程循环10次;接着主线程循环20次,接着又子线程循环10次,接着再回到主线程又循环20次,如此循环50次,请写出程序。
    R语言学习笔记
    重建二叉树-牛客网-剑指offer
    字符串替换空格-牛客网-剑指offer
    二维数组中的查找-牛客网-剑指offer
    牛客网-剑指offer-java版本解答目录(经自测)
  • 原文地址:https://www.cnblogs.com/hulumiaomiao/p/8574614.html
Copyright © 2011-2022 走看看