前言

CefSharp是一个C#客户端内嵌入chromium开源项目浏览器的工具,方便在客户端中自然的访问网页内容,十分好用。当然,网上有很多使用CefSharp的教程了,怎么使用都很详尽。我这里只是用来做一下自己想要做的玩意儿,也是一个好玩的玩意儿。CefSharp官方github地址:https://github.com/cefsharp/CefSharp。

正文

引入Cefsharp的方法也十分简单,受益于VS的NuGet程序包管理器,需要使用NuGet管理器安装CefSharp.Common、CefSharp.Wpf(WinForm下载安装CefSharp.WinForms)。下载完成后保证引用中包含以下三个动态库:

初始化Cef:

        private void InitCef(){var flashPath = startPath + "\\pepflashplayer.dll";var cefSettings = new CefSettings();cefSettings.CachePath = "cache";cefSettings.CefCommandLineArgs["enable-system-flash"] = "1";cefSettings.CefCommandLineArgs.Add("ppapi-flash-version", "21.0.0.182");//插入地址cefSettings.CefCommandLineArgs.Add("ppapi-flash-path", flashPath);Cef.Initialize(cefSettings);}

这里面我引入了一个叫pepflashplayer.dll的Flash播放插件。

将库中的控件类 ChromiumWebBrowser 添加到界面:

        private void InitBrowser(){            browser = new ChromiumWebBrowser(txtUrl.Text);browser.FrameLoadEnd += Browser_FrameLoadEnd;browser.VerticalAlignment = VerticalAlignment.Stretch;browser.HorizontalAlignment = HorizontalAlignment.Stretch;gdMain.Children.Clear();gdMain.Children.Add(browser);            }

就这样。基本上就完事了。

但是我今天要讲的是做一个“开小差工具”,顾名思义,就是我做这个就是来用开小差的,就是在工作的时候用来偷懒干其他事情的工具......

核心做法就是把这个内嵌浏览器的窗口无边框化,然后置顶,加入“老板键”(注册全局热键隐藏显示窗体),这样我们的web窗体就可以嵌入在任何我们想要嵌入的地方。如下图。

看下图我是在看代码吧,但仔细看看,我其实在看左边的小说......万一真被人发现了,就说是网页上的div广告呗,反正也可以一键隐藏,做到真正的无声无息。

由于加入了Flash插件,我当然还可以打游戏了......

这个就实在太高调了......

这些mini无框网页,上边还应该有输入地址栏的地方,就像下面这样,当鼠标移开就隐藏起来。

由于取消了任务栏显示的任务图标,要关闭非得打开任务管理器就麻烦,加入双击显示出来的标题栏则关闭软件的功能。

最后麻烦的是,虽然你们看到了无边框的纯净页面,但是浏览器网页是这样的吗,不是应该有纵向或横向滚动条吗?就像下面这样的:

难看,贼不爽。所以在控件类ChromiumWebBrowser 的FrameLoadEnd 事件中实现这个代码就有必要了:

        private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){e.Browser.MainFrame.ExecuteJavaScriptAsync( //设置滚动条宽度0"var style1 = document.createElement('style');style1.innerHTML = 'body::-webkit-scrollbar{width:0 !important;background:transparent}';document.head.appendChild(style1);");            }

这个代码就是在浏览器中执行了一段JS代码,该代码是动态的向网页中添加style标签,css内容为将网页滚动条宽度改为0,为什么不是隐藏滚动条呢,因为如果隐藏了滚动条这个网页就滚不动了......

好了。“开小差工具”就差不多了,可以自己尝试做一个用起来啦。

当然了,偶尔皮一下就行了,被老板抓到炒鱿鱼就得不偿失了。

C# WPF使用CefSharp客户端内嵌浏览器做一个开小差工具相关推荐

  1. 【java】本地客户端内嵌浏览器3 - Swing 使用 Spring 框架 + 打包项目 + 转exe + 源码

    目录 ★☆★ 写在前面 ★☆★ ★☆★ 本系列文章 ★☆★ ★☆★ 开源网址 ★☆★ 一.给 Swing 加上 Spring 0.前期努力 I. SpringBoot II. SpringMVC 1. ...

  2. 【java】本地客户端内嵌浏览器2 - chrome/chromium/cef/jcef

    目录 ★☆★ 写在前面 ★☆★ ★☆★ 本系列文章 ★☆★ ★☆★ 开源网址 ★☆★ 一.发现新大陆 - CEF/JCEF 0.前言 1.使用 jcef.jar 搭建项目 2.启动包含 jcef.ja ...

  3. C# 内嵌 浏览器 CEF 、FireFox、Miniblink

    项目 地址  https://github.com/TL-GuiZhou/windows.Browers Windows 平台下,C# 内嵌网页的 demo,包括当前流行的 CEF .FireFox. ...

  4. CEF:给客户端内嵌一个Chrome吧

    原文:http://yogurtcat.com/posts/cef/hello-cef.html 发表于: 2013-03-31 20:20   |  更多相关文章: browser CEF Chro ...

  5. PC游戏中用CEF3制作内嵌浏览器

    因为项目需要,需要将游戏手机助手中的朋友圈给移植到PC游戏中,而以前游戏中的内嵌浏览器采用的是IE6内核,满足不了我们的需求,于是决定把Cef3内嵌到游戏中,在完成正常工作之余,利用闲散时间不断地查找 ...

  6. js 判断当前浏览器类型 判断当前是否是微信内嵌浏览器(是否是APP内嵌webView)

    js的浏览器navigator头信息 myBrowserType(){var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOp ...

  7. Java实现内嵌浏览器

    创建项目 ---->   导入需要的jar ---->  代码实现 需要的jar: https://pan.baidu.com/s/1MEZ1S0LnKSMGQm24QWgmCw 代码: ...

  8. vscode预览html插件,VSCode插件推荐-VSCode内嵌浏览器插件-Browser Preview

    很多小伙伴在开发html页面的时候觉得很不方便.因为显示屏的大小是有限的,只能展示代码或者浏览器窗口的其中一种,哪怕用上了LiveServer,也需要一直切换页面,接下来小编带来的这款插件,可以在VS ...

  9. QT应用程序-获取Application-获取主窗口指针-QT内嵌浏览器-QT菜单动作

    在编写QT程序时,有时需要获取主窗口程序指针和主窗口指针,方便控制界面,编写相应的逻辑,而QT则提供了类似的功能. 1.获取应用程序 qApp 宏就可以获取 QApplication 实例,只要使用了 ...

最新文章

  1. SVN 撤回(回滚)提交的代码
  2. 73岁Hinton老爷子构思下一代神经网络:属于无监督对比学习
  3. C++与Lua交互(四)
  4. SharePoint 2013常用开发工具分享
  5. SAP系统和微信集成的系列教程之一:微信开发环境的搭建
  6. python汇率编程_【菜鸟学Python】案例一:汇率换算
  7. Oracle-13:Oracle中的表分区
  8. Scala-Unit6-final/type关键字、样例类样例对象
  9. 自定义标签之 带Body的标签库
  10. 数据库配置不当,8.8亿条医疗记录遭泄露
  11. 网络安全实验四 防火墙技术的具体应用
  12. PostgreSQL 命令行客户端 psql 使用指南
  13. 预算少怎么做ASO优化?
  14. redis设计秒杀活动图解
  15. Java程序员面试笔试宝典-数据库原理(三)
  16. keystore生成签名证书
  17. win的反义词_初中英语常见的同义词、反义词汇总
  18. cn2an:中文数字转阿拉伯数字
  19. Cris 的Python笔记(十一):面向对象三大特征之多态
  20. Gimbal Pro 隐私政策

热门文章

  1. 青少年护眼灯哪个牌子好?盘点教育部推荐的护眼灯品牌
  2. 客户人群画像分析 客户进行用户画像实现精准营销- Whale帷幄
  3. Java 视频时长计算
  4. restlet2.0学习——请求超时设置
  5. 最详细的Hadoop安装教程
  6. 学生系统的java代码_java学生信息管理系统源代码
  7. 用excel读取东京奥运会的金牌排行榜信息
  8. 【CAD插件】YQ插件辅助
  9. Android10报错:error: libxxx (native:vendor) should not link to libxxx (native:platform)(一百一十七)
  10. 昆仑通态MCGS与3台力士乐VFC-x610变频器通讯程序 实现昆仑通态触摸屏与3台力士乐VFC-x610变频器通讯