赞
踩
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,为什么不是隐藏滚动条呢,因为如果隐藏了滚动条这个网页就滚不动了......
好了。“开小差工具”就差不多了,可以自己尝试做一个用起来啦。
当然了,偶尔皮一下就行了,被老板抓到炒鱿鱼就得不偿失了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。