CefSharp学习笔记

Cef全称Chromium Embedded Framework 是谷歌的chromium浏览器的嵌入式框架,可以给予其他应用嵌入谷歌chromium浏览器的能力。

CefSharp是Cef的.NET 封装版本,可以在.NET环境下运行Cef。

using CefSharp;   //CefSharp库引用

ChromeAction chromeAction = new ChromeAction();//

CefSharp 自定义右键菜单 (Winform版)

引用:CefSharp 自定义右键菜单 (Winform版)

 右键菜单功能由IContextMenuHandler接口定义:

具体代码:见(CefSharp 自定义右键菜单 (Winform版)

调用很简单,如下:

//在初始化ChromiumWebBrowser后,指定其MenuHandler 即可.

browser1.MenuHandler = new MenuHandler();

这样就实现了自定义菜单项,及设定自定义菜单项的功能.

关于代码,再啰嗦几点:

1.CefSharp右键菜单功能由IContextMenuHandler接口定义.

2.有的人看了官方的例子,可能会卡在webBrowser.Dispatcher.Invoke上面. winfrom中是没有Dispatcher的,Dispatcher只是调度器,在winform中直接使用Invoke调用即可,跟平时写的跨线程的UI访问需要使用委托来访问以确保线程安全一样.

3.官方的Example也是显示实现接口,文章代码尽量与翻译官方Example所以写的显示实现接口,实际上隐式实现接口是一样可用的.

4.官方Example中在 RunContextMenu 方法中写了一大串的代码,实现了完整的WPF菜单栏绘制,是对winform版本的开发者的主要误导之一。(实际上Example中有注释申明了使用内置的ContextMenu只需要返回false即可,是由于WPF中需要集成到现有的消息循环中才需要重绘)  

所以遇到问题还是要多看官方的文档,因为转载者基本上把这段注释改掉了,如果你尝试在winform中在这里模仿wpf代码进行重绘,测了下可以成功,但是弹出速度极慢,重绘代码不发了,因为弹出速度感人毫无参考意义,winform即便是要重绘也应该是在OnBeforeContextMenu里面设定才对.

关于需要彻底禁用右键菜单,只要理解了上面的代码,就应该知道有很多很多处地方都可以实现,随便任意一处即可.

5. 右键菜单中的点击后的功能是什么,这些都是可以自己设定的.

右键菜单的功能的设定和可以实现的功能,不一定局限于浏览器基础功能的范畴,

也可以实现其它浏览器之外的其它任务和工作也是可以的,灵活运用即可.
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CefSharp是一个开源的.NET封装库,用于集成Chromium浏览器到.NET应用程序中。要修改浏览器指纹,我们可以通过CefSharp来实现。 首先,我们需要了解浏览器指纹是什么。浏览器指纹是通过浏览器提供的信息(例如用户代理、插件列表、操作系统等)来识别和区分不同的浏览器。为了修改浏览器指纹,我们需要修改这些信息。 在CefSharp中,我们可以通过修改浏览器的用户代理来改变指纹。用户代理是浏览器在发送HTTP请求时提供给服务器的一个字符串,其中包含了浏览器的相关信息。 要修改用户代理,在创建CefSharp浏览器实例之前,我们可以通过CefSettings类来设置用户代理。例如,我们可以使用如下代码将用户代理设置为指定的值: ```csharp CefSettings settings = new CefSettings(); settings.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"; Cef.Initialize(settings); ``` 在上述代码中,我们将用户代理设置为Chrome 89的用户代理字符串。这样,在使用CefSharp浏览器进行网络请求时,服务器将根据用户代理来判断浏览器类型。 除了修改用户代理,我们还可以通过修改其他浏览器参数来改变指纹,例如修改插件列表、操作系统等。 总结来说,要修改CefSharp浏览器的指纹,我们需要通过设置用户代理或修改其他参数来改变浏览器提供的信息。这样可以使浏览器产生一个与原始指纹不同的指纹,从而实现修改浏览器指纹的目的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunlin2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值