新人下载app,立即提现现金 您的好友 送你现金 去提现

搬砖程序猿之软件DIY

nickname263 04-05 19:57 关注

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

心路历程

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

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

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

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

cpu仪表盘cpu仪表盘

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

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

Rainmeter效果图Rainmeter效果图

还有这种:

Rainmeter效果图Rainmeter效果图

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

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

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

确定目标

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

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

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

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

开始折腾

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!

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


展开阅读全文

查看更多好文内容,新用户限时领现金
全部评论 (4)
乐天一派
0
04-06 16:37

不知道说的是啥,点个赞吧…支持折腾…

nickname263
0
04-05 21:12
从晚忙到早: 不知道说的是啥,点个赞吧…支持折腾… 1

折腾代码啊兄弟。

从晚忙到早
0
04-05 20:42

不知道说的是啥,点个赞吧…支持折腾…

兜里有10块零花钱
0
04-05 20:22

不知道说的是啥,点个赞吧…支持折腾…

打开App,查看更多好文和评论
猜你喜欢
查看更多
相关好价
相关商品
查看更多热门商品
社区主页 文章详情
10
27
4
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索