cefsharp内嵌资源html的读取,【整理总结】代码沉淀 - CefSharp - 比较流行的第三方内嵌浏览器组件...

.NET (WPF and Windows Forms) bindings for the Chromium Embedded Frameworkhtml

nuget: Install-Package CefSharp.Wpfgithub

比较流行的第三方内嵌浏览器组件,虽然仍是一如既往的坑,可是最起码不少人踩,因此就用它了。web

更多相关项目,请访问代码沉淀目录浏览器

重要提示:请注意项目的版本,以官方最新版本为准。微信

在好久好久以前,就有不少人提过在一个窗体程序内嵌入浏览器,因而我最后也用到了,因而就记录一下踩得坑,留做备忘。ide

1. cef子进程的开始与关闭,若是你的程序出现了子进程的这种问题,请调用:网站

CefSharp.Cef.Shutdown();

2. 右键菜单问题,不少配置cefsharp都考虑到了,虽然实现起来各类麻烦。ui

classMyCefMenuHandler: CefSharp.IContextMenuHandler

{//其它方法的实现不是重点。//其它参数也不是重点。

public voidOnBeforeContextMenu(IMenuModel model)

{

model.Clear();

}

}

3. 网页语言问题,不少网站会根据请求头的区域标识,返回对应的语言的网页,好比微信,因此咱们要标识我首选就是中文,先给我返回我认识的国语网页。spa

//其余方法不是重点(不过实现一次接口你都想死,太多方法了!)//其余参数也不是重点//必定要从新覆盖访问头,直接赋值没卵用!

publicCefReturnValue OnBeforeResourceLoad(IRequest request)

{var headers =request.Headers;

headers.Set("accept-language", "zh-CN,zh;q=0.8,en;q=0.6");

request.Headers=headers;returnCefSharp.CefReturnValue.Continue;

}

4. 你们可能都遇到的问题,WPF专用的CefSharp控件,不支持设计时,这你就无法子了,我是以为烦就后台生成浏览器控件的实例,这一帮官方的开发人员也真是够懒的,到如今了还不添加设计时支持,真是吃干饭的。

5. 我看到exe同级目录下那么多dll,就蛋疼,因而就作了资源转移,其余dll用的“Costura.Fody”,至于Cef方面的,就只能老老实实转一大圈了。

658244fa559c489f95dbd4cf.html

658244fa559c489f95dbd4cf.html

1 //首先,让Costura.Fody组件不合并CefSharp相关的资源文件,由于非托管啥的资源还有子线程,你不可能真的都打包。2 //FodyWeavers.xml

3

4

5

6 //接下来,咱们不是把dll挪到别的目录么,程序启动搜索dll,就要多一些地方,好比我放在子目录里。7 //App.Config

8

9

10

11

12

13

14

15 //接下来,把cef相关的20个文件,locales目录的53个文件全扔到x86\cef目录里,并修改Cef初始化配置。

16 internal static voidBuild()17 {18 stringlib, browser, locales, res;19 //Assigning file paths to varialbles

20 lib = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"x86\cef\libcef.dll");21 browser = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"x86\cef\CefSharp.BrowserSubprocess.exe");22 locales = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"x86\cef\locales\");23 res = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"x86\cef\");24 var settings = newCefSettings();25 settings.BrowserSubprocessPath =browser;26 settings.LocalesDirPath =locales;27 settings.ResourcesDirPath =res;28 Cef.Initialize(settings, true, null);29 }

View Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: cefsharp.winforms.dll 49是一款基于Chromium的.NET开发库,是CefSharp项目的一部分,用于在Windows窗体应用程序中内嵌和呈现HTML网页。该库允许使用C#或其他.NET语言编写的应用程序通过使用CefSharp框架来浏览Web内容。 CefSharp.winforms.dll 49是该项目的版本号,此版本发布于2019年6月份。新版本于此之后推出,带有更多用户期望的功能和改进。该库与多个操作系统兼容,使应用程序可以在Windows、Linux和Mac OS X上运行。 CefSharp.winforms.dll 49使用基于事件的模型,允许应用程序接收Web页面中的事件(例如鼠标单击、滚动、文本输入等)并作出响应。此外,该库还提供多个控件,例如CEF浏览器控件和HTML编辑器控件等,以帮助您更快地构建Web内容的UI。 总之,CefSharp.winforms.dll 49是一款优秀的.NET开发库,它使得在Windows窗体应用中内嵌和呈现HTML网页变得十分简便。无论您是开发桌面应用程序还是Web应用程序,CefSharp.winforms.dll 49都是一个十分重要的组件。 ### 回答2: cefsharp.winforms.dll是CefSharp库的一部分,在使用C#、WinForms开发桌面应用程序时是非常有用和方便的。CefSharp是一个.NET和C#语言的开源项目,用于将Chromium嵌入您的C#应用程序中。其中cefsharp.winforms.dll是此库的WinForms实现,它允许用户在WinForms应用程序中嵌入Chromium浏览器,实现一个完整的浏览器环境。 使用CefSharp库可以使得桌面应用程序变得更加丰富和交互性更强。它支持多种功能和插件,例如HTML5视频和音频、网页渲染、JavaScript执行和CSS支持等。CefSharp库的使用也非常简单,只需要在项目中添加CefSharp的Nuget包,并在代码中实例化一个browser对象即可。 CefSharp库的另一个优势是Chromium浏览器的高度自定义性。通过自定义CefSharp库,用户可以轻松地将他们需要的功能集成到自己的应用程序总。CefSharp库支持异步API,使得在C#中创建强大的桌面应用程序变得更加方便和简单。 总而言之,CefSharp.winforms.dll是一个非常有用的类库,它可以大大提升开发人员构建C#桌面应用程序的效率和质量。它支持多种功能和插件,提供了丰富的自定义功能。与此同时,它的使用是非常简单的,也为用户提供了强大的异步API。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值