搬砖程序猿之软件DIY

2020-04-05 19:57:13 10点赞 27收藏 4评论

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外50金币奖励。

心路历程

经常在大妈上看到各路大神各种花式天秀DIY,有各种工艺品,智能(zhang)家居,包括显示器也能DIY。奈何吾等搬(qiong)砖(bi)猿一来手残二来没空(qian),只能心水不能跳坑。搬砖程序猿之软件DIY 

最近因为众所周知的原因,稍微有点时间,除了搬砖,也琢磨琢磨弄点其他的呗。搬砖程序猿之软件DIY 

身为五六七八线搬砖猿,玩不了硬件DIY,那就发挥一下本专业,玩玩软件!搬砖程序猿之软件DIY 

PC作为生产力工具,对于搬砖猿来说那是吃饭家伙,肯定要对各种状态了如指掌,所以观察各种数据那是强需求,比如说上传下载数据,CPU内存占用率等。早先windows有个桌面小工具,样子是这样滴:

   

cpu仪表盘cpu仪表盘

这个东西虽然可以用,但是木有皮肤,只能显示在桌面,一点都不实用。搬砖程序猿之软件DIY 

还有个桌面美化神器,Rainmeter 可以diy出各种逆天的效果,比如这种:

Rainmeter效果图Rainmeter效果图

 还有这种:

Rainmeter效果图Rainmeter效果图

本站值友大神也多次介绍过这款神器。 比如这篇:

橙子君的技术贴:(一)桌面定制化,打造属于你自己的极简桌面小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。摘要:在个性大为发扬的时代,人们具有很强创作热情。从客制化键盘到ModelX,生活的方方面面都可以随你的需求而得到满足。其中作为最普遍的生产力——个人计算机,桌面定制化(desktopcustomization)将是我们进行潇洒的橙子君| 63 评论21 收藏935查看详情

 但这款神器主要针对的还是桌面美化定制这方面,虽然可玩性高,可以打造出逆天的效果,但操作稍显复杂,而且同样有查看时需要切换到桌面这个问题。对于吾等猿们来说,平时工作时开着各种IDE,哪个不需要全屏工作?恨不得桌面上放好几台显示器来避免来回切换,更别提要切换回桌面去看数据。搬砖程序猿之软件DIY 

总结一下需求,省事直观,开箱就能用,不用复杂的配置,数据显示在触(tai)手(yan)可(ke)及(jian)的地方,不用来回切换。

确定目标

根据上述需求,这个软件最好能够把数据显示在任务栏图标(或直接显示在任务栏),或者悬浮窗中。

大家可能不太理解什么叫把数据显示在任务栏图标,稍微解释一下。比如说任务管理器最小化后就可以在任务栏图标上显示出当前的CPU占用率的柱状图。但任务栏图标的面积有限,自然能够显示的信息就受到了制约。最多以图形的方式同时显示内存和cpu两项数据。

所以满足某需求的就是能显示在任务栏或悬浮窗的了。这样的软件有很多,比如 软媒系统雷达 等。但吾等搬砖猿想折腾木有源码怎么行?当然要开源的啦。搬砖程序猿之软件DIY 

说到这里,诸位看官肯定猜到了,没错,就是这款鼎鼎大名的TafficMonitor了。本站值友曾详细介绍过这款软件: 

软件分享 篇三:TrafficMonitor -— Windows10简洁清爽的免费监控插件有不少人喜欢360或者电脑管家流量悬浮窗,但又不喜欢此类软件的全家桶,特别是Windows10操作系统上WindowsDefender的杀毒性能已经比较好,不需要诸如此类的第三方杀毒软件。今天就为大家推荐一款开源绿色软件TrafficMonitor,这是一款用于Windows平台的网速监控悬浮窗软件AntonioKN| 11 评论1 收藏57查看详情

  

开始折腾 

 TafficMonitor能够嵌入任务栏,嵌入后是这样的:

打开cpu内存显示后的任务栏图打开cpu内存显示后的任务栏图

充分满足了我们开着全屏IDE搬砖时主要视野没有遮挡,又随时能关注信息的需要。

但是(没有但是就没有折腾),CPU和内存占用率显示的是向右的柱状图,某比较喜欢像这样的赶脚:

CPU占用率图表-大CPU占用率图表-大

可是任务栏地面小,这样的大家伙实现不了。那就这样的赶脚也行啊:

CPU占用率图表-小CPU占用率图表-小

   搬砖程序猿之软件DIY 貌似也不好实现额。

不管了,源码拉下来看看先。github fork clone走一波。

D:Developc#>git clone https://github.com/nickname263/TrafficMonitor.git
Cloning into 'TrafficMonitor'...
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 2445 (delta 3), reused 13 (delta 3), pack-reused 2422
Receiving objects: 100% (2445/2445), 8.24 MiB | 678.00 KiB/s, done.
Resolving deltas: 100% (1788/1788), done.

巨硬宇宙最强IDE开之:

VS2017社区版VS2017社区版

大神的代码啥都不用说,很规整的MFC代码。很多新入行的猿们可能对这个不太熟,还有点恐惧,其实大神规整好了改起来不难。搬砖程序猿之软件DIY 

项目资源树项目资源树

红框的文件从名字就能看出,这次就对它下手了。

showinfo函数showinfo函数

这个ShowInfo函数就是在任务栏上绘制出内容的主要函数。

画CPU状态条的地方画CPU状态条的地方

就是这个地方,某要做的就是在这里不绘制横向的状态条而是画出滚动的折线图,画法思路就是:绘制的区域面积有限用折线图之类大材小用,直接画!原作是每秒刷新一次,那么用一个数据结构保存一定数量的CPU(内存同理)占用率数值,我这里选用的是MFC的CList。画图时,针对CPU显示区域的宽度循环,从最右侧向左画,画一条竖直向上的直线,线长表示这个点的CPU占用率相对区域高度的长度。比如说,当前CPU占用率50%,区域高度为16像素,则画一套8个像素长的直线。打完收工搬砖程序猿之软件DIY 

等等,1秒钟1次有点太快了,很快从右画到左边,有个cpu波动也不怎么看得出来,所以某改成5秒一次。嗯,效果是这样滴:

改成滚动图的效果改成滚动图的效果

直接这样改了自己也能用,但要追求完美么,加个选项吧。打开资源文件。

rc资源文件rc资源文件

找到任务栏设置对话框:

任务栏设置对话框任务栏设置对话框

加入相关的设置,并相应修改逻辑代码。这下可以愉快的玩耍了。搬砖程序猿之软件DIY 

最终我是这样设置的,效果如图:

最终最终

总结

简单的修改了一下代码,大概花了2个小时。根据开源协议,相关提交推送给了原作者,自己享受的是动手的乐趣。搬砖程序猿之软件DIY 

毕竟:

Just for FUN!Just for FUN!

有感兴趣的值友源码可见:传送门


   

展开 收起

《Nebo》触屏笔记类软件 Windows版

《Nebo》触屏笔记类软件 Windows版

暂无报价

Microsoft 微软 Office 365 个人版 1年订阅

Microsoft 微软 Office 365 个人版 1年订阅

239元起

Day One(日记+笔记)

Day One(日记+笔记)

暂无报价

《Cardiograph(心电图仪)》iOS应用软件

《Cardiograph(心电图仪)》iOS应用软件

暂无报价

《CanOpener(耳机音质调试)》iOS应用软件

《CanOpener(耳机音质调试)》iOS应用软件

暂无报价
4评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

nickname263
签到1314天
LV57

五六七八线搬砖猿一枚。

关注 打赏
最新文章 热门文章
27
扫一下,分享更方便,购买更轻松