当前位置:   article > 正文

C# WPF使用CefSharp客户端内嵌浏览器做一个开小差工具_wpf cefbrowser

wpf cefbrowser

前言

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

 

正文

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

初始化Cef:

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

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

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

  1. private void InitBrowser()
  2. {
  3. browser = new ChromiumWebBrowser(txtUrl.Text);
  4. browser.FrameLoadEnd += Browser_FrameLoadEnd;
  5. browser.VerticalAlignment = VerticalAlignment.Stretch;
  6. browser.HorizontalAlignment = HorizontalAlignment.Stretch;
  7. gdMain.Children.Clear();
  8. gdMain.Children.Add(browser);
  9. }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/257999
推荐阅读
相关标签
  

闽ICP备14008679号