rainmeter皮肤编写(进阶篇)
RM教程Rainmeter

RM教程最近看到大家一直在找关于RM的教程,那么我就根据自己的经验和网上收集的,写了这篇教程,为了贴图方便,所以使用word编写。
如果有什么不足与错误请大家见谅。
RM全称Rainmeter,是国外出的一款桌面美化软件,它的强大之处在于它的皮肤,相信大家多多少少也了解一点。
Rainmeter 更新发布页:/p/rainmeter/两个较丰富的Rainmeter 皮肤下载网站/rainmeter/customization/skins/#order=9&q=rainmeter一,关于安装的问题大家在网上找到的RM 有两种版本一种是安装版的,一种是解压后就可以使用的,本人建议还是使用安装版的,同时还有英文版的和汉化版的,本人建议有点英文知识的还是使用英文版的,可以在上面提供的更新发布页下载最新英文版的。
因为本人使用的是双系统,在7下安装的是office 2010所以我是xp下来写这个教程,那么我就先说说xp下的RM 问题。
1.安装版皮肤放置位置使用安装版的,我们把皮肤放到RM默认的皮肤(Skins)下,xp下皮肤默认地址:X:\Backup\我的文档\Rainmeter\Skinswin7下皮肤默认路径:库\我的文档\ Rainmeter\Skins如果我们把皮肤放到安装文件夹下的skins中是不可用的。
2.非安装版皮肤放置位置:如果你使用的是直接解压版的,那么你的皮肤就要放到文件夹下的Skins中。
比如说:你把文件解压到D盘中,那么你的皮肤文件要放到D:\ Rainmeter\ Skins。
二,使用问题:安装好之后,双击如下图的图标即可打开RM的主程序,当然你可能在桌面上看不到有什么变化我们在右下角可以看到RM的图盘图标,如下图:打开RM之后,现在就是要打开皮肤,我们只有在托盘图标上右键,即可看到如下图:中文版和英文版的比较中文版英文版我们把皮肤放到指定的文件夹中后,选择配置(Configs)看到安装的皮肤,然后我们选择一个即可,选择其中任意皮肤后面的"XXX.ini"项目就是应用该皮肤点击所选皮肤后,桌面上自会出现相应的皮肤说明一点,如果我们在安装皮肤的是打开了RM程序后的,那么我们再将皮肤放到皮肤文件夹下,这时我们再按上述步骤打开,是看不到我们放到的文件的,我们只要刷新一下即可,刷新见图:刷新全部这些都是很简单的,大家捣鼓捣鼓就可以了。
rainmeter

第四步:编辑配置皮肤,通过记事本编辑 ini 文件可以对皮肤进行很丰富的设置,当记事本编辑出现乱码时是因为有些ini不能用记事本编辑,我们需要借助一个支持多编码格式的文本编辑软件这里推荐选用 EmEditor编辑皮肤只要单击编辑配置文件即可,如图下面是rainmeter中基本的编程,是编辑需要的基础,学会的话可以自己随意自定义了(以下这段不是本人写的,究竟开始是哪个高手写的我也一直寻觅中。
)[soeur]Meter=IMAGEImageName=fate.pngX=0Y=0这是显示图片的字段Meter=IMAGE执行显示图的字段和显示文字不依样喔ImageName=fate.png就是图片名称图片要在INI档资料夹下XY座标参考显示文字[Back]Meter=IMAGEX=0rY=50rW=400H=5SolidColor=#BColor#如果没图要用就用这段先做个基本范围这段是显示一个框框框框大有由W.H改变W是宽 H是长最小是1 若不需要就删掉不可设0不然会有错误SolidColor=#BColor#是框框背景颜色#BColor#是在参考宣告区设定=======================================================这段程式是要在显示文字前写上这样文字才有显示范围若没用文字是不会显示的如果字多字长可以设长一点大一点不然字显示超出框框范围会被截掉喔[CPUTxt]Meter=STRINGX=50rY=10rPrefix="CPU"FontColor=#FColor#FontSize=7StringAlign=RIGHTStringStyle=BOLDHidden=1此为显示文字字段[CPUTxt]名称自由改变Meter=STRING恩....应该是显示什么的 STRING 是显示字体X=0r Y=0r座标有加 r 和没加 r 变化很大没加 r 会从最初座标开始算有加 r 会从上个字段的座标开始算Prefix="??" 要显示什么西FontColor=#FColor# 字体颜色#FColor#这是在宣告区所写的若宣告区没写就改写成FontColor="0,0,0"FontSize=7字体大小如果在宣告区有宣告就改成FontSize=#名称#StringAlign=RIGHT 字体靠右靠左还是靠中StringStyle=BOLD 字型 BOLD 此为粗体Hidden=1 隐藏就是不显示这就是一段要再一段就要再複制一段名称要不一样喔================================分支1在这段中加段MeasureName=CPU(CPU 就是在抓取区的抓取CPU指令名称若是要显示记忆体就改成抓取Mem指令的名称)就会变成显示CPU使用率ex.[ComeCPU]MeasureName=CPUMeter=STRINGX=28rY=0rPostfix="%"FontColor=#FColor#FontSize=7StringAlign=RIGHTStringStyle=BOLD================================分支2若是要用在显示有单位的像..记忆体上传下载速度硬碟空间则加AutoScale=1NumOfDecimals=0这是计算单位的不加的话会出现一堆数字ex.[ComeMem]MeasureName=MemoryMeter=STRINGX=90rY=-13rPostfix="B"FontColor=#FColor#FontSize=7StringAlign=RIGHTStringStyle=BOLDAutoScale=1NumOfDecimals=0========================================================要记得複制贴上是你最好的朋友这是显示字体的字段每一段第一段都要有[名称]=========================[Rainmeter]BackgroundMode=1(打就是了);=========================[Variables]FColor="0,0,0"BColor="30,50,74"(这是宣告FColor是"0,0,0" BColor是"30,50,74" );==========================[MeasureIP]Measure=PluginPlugin=Plugins\SysInfo.dllSysInfoType=IP_ADDRESSSysInfoData=1[MeasureOS]Measure="Plugin"Plugin="Plugins\SysInfo.dll"SysInfoType="OS_VERSION"SysInfoData=[MeasureCPU]Measure=CPU[MeasureMemory]Measure=PhysicalMemory[MeasureSwapMemory]Measure=SwapMemory[MeasureNetIn]Measure=NetIn[MeasureNetOut]Measure=NetOut[MeasureTime]Measure=TimeFormat=%H:%M:%S[MeasureDate]Measure=TimeFormat="%#m/%#d*"substitute="/":"月","*":"日"[MeasureWeek]Measure=TimeFormat=%Asubstitute="Sunday":"星期日","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六"[MeasureFDS_C]Measure=FreeDiskSpaceDrive=C:[MeasureFDS_D]Measure=FreeDiskSpaceDrive=D:(抓取资讯);======================================[Back]Meter=IMAGEX=0Y=0W=100H=250SolidColor=#BColor#,20(这是背景框框SolidColor=#BColor#,20 后面加个,20 是透明度) ;======================================[IPTxt]Meter=STRINGX=0rY=0rPrefix="IP:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[IPT]MeasureName=MeasureIPMeter=STRINGX=20rY=2rFontColor=#FColor#FontSize=8StringAlign=LEFTStringStyle=BOLD(显示 IP:xxxxxxx);=============================[OSTxt]Meter=STRINGX=-20rY=15rPrefix="OS:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[OS]MeasureName=MeasureOSMeter=STRINGX=18rY=15rFontColor=#FColor#FontSize=8StringAlign=LEFTStringStyle=BOLD(显示 OS:XXXXXXX);============================= [CPUTxt]Meter=STRINGX=0rY=20rPrefix="CPU:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[Cpu]MeasureName=MeasureCPUMeter=STRINGX=45rY=0rPostfix="%"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD(显示 CPU:XXX%);============================= [MemTxt]Meter=STRINGX=-50rY=20rPrefix="Mem:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[Mem]MeasureName=MeasureMemoryMeter=STRINGX=40rY=0rPostfix="B"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLDAutoScale=1NumOfDecimals=0(显示 Mem:XXXKB);===============================[SWAPTxt]Meter=STRINGX=-40rY=20rPrefix="Swap:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[SWAP]MeasureName=MeasureSwapMemory Meter=STRINGX=40rY=0rPostfix="B"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLDAutoScale=1NumOfDecimals=0(显示 Swap:XXXKB);================================ [DLTxt]Meter=STRINGX=-40rY=20rPrefix="DL:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[DL]MeasureName=MeasureNetOutMeter=STRINGX=40rY=0rPostfix="b"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLDAutoScale=1NumOfDecimals=0(显示 DL:XXXKB);================================= [ULTxt]Meter=STRINGX=-40rY=20rPrefix="UL:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[UL]MeasureName=MeasureNetInMeter=STRINGX=40rY=0rPostfix="b"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLDAutoScale=1NumOfDecimals=0(显示 DL:XXXKB);=========================== [time]MeasureName=MeasureTimeMeter=STRINGX=-30rY=20rFontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD(显示时间 18:20:45);============================ [DAY]MeasureName=MeasureDateMeter=STRINGX=0rY=20rFontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD(显示日期 7月7日);============================ [Week]MeasureName=MeasureWeekMeter=STRINGX=0rY=20rFontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD(显示周几星期五);========================= [CTxt]Meter=STRINGX=0rY=20rPrefix="C:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[CD]MeasureName=MeasureFDS_C Meter=STRINGX=20rY=0rPostfix="B"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLDAutoScale=1NumOfDecimals=0(显示 C盘剩多少);=========================== [DTxt]Meter=STRINGX=-20rY=20rPrefix="D:"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLD[DD]MeasureName=MeasureFDS_DMeter=STRINGX=20rY=0rPostfix="B"FontColor=#FColor#FontSize=10StringAlign=LEFTStringStyle=BOLDAutoScale=1NumOfDecimals=0(显示 C盘剩多少)==========================END=================================一些小地方要注意; (在任何一段打上 ; 之后一字段就不会执行)Prefix和Postfix不同之处在于Prefix是文字直接显示Postfix是文字会显示在数据后面第五步:比如打开XXX.ini 后找到这段文字[Variables]Please replace your location code of below, e.g: Sydney is ASXX0112.;You can check it on or Google.;And you may also delete "&unit=m" if you prefer the Fahrenheit Scale.。
rainmeter皮肤编写(进阶篇)

第一节制作流程开头部分Rainmeter有两项必需写的Author=作者Update=皮肤的刷新率,1000=1秒,默认=1000.其他的根据需要写,比如AppVersion指定所需的RM版本,BackgroundMode定义背景模式等等。
这里,对MouseActionCursor这个很多人还不清楚的做下讲解。
如果你后面的Meter定义成Button按钮,并且该按钮带有鼠标活动(好比开始菜单球球,鼠标有滑入按下离开三种行为),可以在开头部分将MouseActionCursor=0,否则后面的Meter会被遮挡,因为该值默认为1.元数据和变量Metadata元数据定义数据结构大小创建时间等等一些信息,对整个皮肤不起作用,所以很多皮肤没有这段或干脆留空。
Variables 变量这段很关键,如果皮肤较大,一些常用的像Font,FontColor等建议放入此处,倒不是图写起来方便,而是修改起来十分方便,整个皮肤看上去也整洁了许多。
调用RM内置变量用@include=加路径引出。
测量部分MeasureMeasure的类,共计13个类,每个类有各自的子项,详细规定了类的属性。
CPU测算CPU负载(如多核可调用PerfMon插件)。
Memory测算内存总利用率。
PhysicalMemory测算物理内存分配。
SwapMemory测算虚拟内存分配。
NetIn测算网络下载流量。
NetOut测算网络上载流量。
NetTotal测算网络总流量。
FreeDiskSpace测算空闲硬盘总量。
PefMon测算终端性能数据。
Uptime显示系统开机后持续的时间。
Plugin插件Registry测算注册表值。
Time测算当前时间和日期。
Calc计算公式。
显示部分(表现方式)MeterMeter的类,共计8个类,每个类有各自的子项,详细规定了类的属性。
HISTOGRAM直方图STRING字符串BAR进度条BITMAP位图IMAGE图像LINE线ROTATOR旋转BUTTON按钮第二节实战起步例 CPU的监测CPU使用率先来看单核代码段[MeasureCPU]Measure=CPU 定义Measure类为CPU[Procesor]MeasureName=MeasureCPU 取前面的测量值Meter=BAR 定义Meter的类为BAR,百分率的后面(四核)讲。
rainmeter新手教程(超级详细)

r a i n m e t e r新手教程(超级详细)-CAL-FENGHAI.-(YICAI)-Company One1说明:因为很多朋友和我说不会用rainmeter,所以我决定写一篇详细的帖子出来方便童鞋们学习和使用这款优秀的软件,其中引用很多网上高手已总结归纳的教程,全文为自己一步一步边操作边编辑的,水平有限,如有错误或遗漏,敬请指出完善,不甚感激!一楼教程篇Rainmeter简介Rainmeter 是国外最常用的桌面美化增强软件之一,小巧资源耗用少,好用而且美观。
Rainmeter现在的功能已经得到了极大的扩展,rss 、系统监视器、硬盘监测、天气预报、快捷方式,甚至仿dock,仿cad等常用功能都能够实现,而低资源占用和简易的设计方式为它赢得了大批fans,Rainmeter(以下简称RM)的皮肤大都走抽象、简洁,炫酷的设计路线,非常适合作为一款桌面美化软件。
使用方法第一步:下载RM,可以去官网下(都是英文版,觉得自己英文够NB的,本人非常推荐使用英文版,毕竟是原版),也可以下国人汉化好的版本(强烈推荐使用汉字的中国人使用)关于汉化版下载,可以参考以下我的帖子(这个版本是我自己一直在用的)关于官网英文版,链接为总结一下,下载自己需要的版本第二步:下载好以后,将RM文件夹放入自己想放的文件夹(小弟弟也会吧。
呵呵),然后双击,进入RM,系统托盘图标处会出现RM水滴图标如果此时你的桌面没有出现小工具,说明你还没有添加;总结一下:存放RM,双击打开RM第三步:添加RM皮肤,上面那个RM版本虽说是汉化版,不过汉化的不是很完全,右键单击系统托盘图标处的RM程序,出现如下图,(其中configs和themes没有汉化,看着有点别扭)configs:显示配置信息命令;配置,布局,也就是添加皮肤的选项,通过此处添加皮肤,皮肤文件为“.ini”,选中你需要的皮肤ini文件即可;要关闭某个皮肤就点选当前已用皮肤列表后面的"关闭皮肤"themes:这个是主题,你可以配置一些皮肤然后通过保存为一个主题,下次使用时可以通过变换主题而变换各种皮肤,不用一一配置替换;总结一下:右键单击系统托盘处的RM——configs——第四步:编辑配置皮肤,通过记事本编辑 ini 文件可以对皮肤进行很丰富的设置,当记事本编辑出现乱码时是因为有些ini不能用记事本编辑,我们需要借助一个支持多编码格式的文本编辑软件这里推荐选用 EmEditorEmEditor 汉化版下载地址:注:此部分需有一定编程基础,完全可以自定义出自己喜欢的皮肤,要是懒人的话这部分可以忽略不看了。
RM-12-RM制作磁盘皮肤

Rainmeter中磁盘皮肤的制作FreediskspaceFreediskspace返回选定的磁盘空间的使用统计.OptionsDrive所要检测的磁盘(比如:”C:”,这个表示C盘)Total这个如果设定为1就会返回整个磁盘的大小Label这个设定为1就会返回磁盘的卷标Type这个设定为1 就会返回磁盘的类型返回数值对照的格式是String >>numeric (字符串>> 数值):Error >> 0Removed >> 1Removable >> 3Fixed >> 4Network >> 5Cdrom>> 6Ram >> 7Ignoreremovable如果设定为1(默认), 可移动驱动器都将被忽略,如果设定为0,那么可移动驱动器都将被检测,如果你想检测USB接口那么你要确保你将ignoreremovable设定为了0.提示: freediskspace只支持CD和DVD盘符的类型和卷标. Example skin[Rainmeter]Update=1000Backgroundmode=2Solidcolor=0,0,0,200[measuredisklabel]Measure=freediskspaceDrive=C:Label=1Updatedivider=5[measuretotaldiskspace]Measure=freediskspaceDrive=C:Total=1Updatedivider=5[measurefreediskspace]Measure=freediskspaceDrive=C:Updatedivider=5[measureuseddiskspace]Measure=freediskspaceDrive=C:Invertmeasure=1Updatedivider=5[meterdriveinfo]Meter=StringMeasurename=measuredisklabelMeasurename2=measuretotaldiskspaceMeasurename3=measurefreediskspaceMeasurename4=measureuseddiskspaceX=0Y=0W=500H=16Fontsize=10Fontcolor=255,255,255,255Antialias=1Autoscale=1Text="C:\ (%1): [总容量: %2B] [空闲: %3B] [已使用: %4B]"。
Rainmeter皮肤设计

Rainmeter准备好了吗?你正要制作有史以来你的第一个rainmeter皮肤,rainmeter最常用的使用方法之一就是显示你的系统信息,它可以显示你的系统名称以及磁盘驱动器的使用情况等等。
接下来,我们将要制造一个显示你的CPU信息,内存使用情况,系统交换情况的一个简单的rainmeter皮肤。
你可能会想“哇,我真的不知道那些东西是怎么工作的,我应该怎么做呢?”,我们很幸运,rainmeter为我们做了一切繁重的事情,我们只需要告诉rainmeter它需要做什么和它是什么样子就足够了。
下面的这个皮肤就是我们即将要制造的:它很小,也很简单,但是它会引导你在正确的轨道上学习rainmeter的基本知识。
首先,我们需要一些术语!请参考rainmeter101Measures和meters在任何的rainmeter皮肤中都有两个主要的元件:measures和meters,简单的说,measures 是用来测量和获取数据的,meter是用来显示数据的,二者缺一不可。
你可以加载一堆只有measures的皮肤,但是没有meters,它将无法显示数据。
你也可以加载一大堆只有meters 的皮肤,但是没有measures,它不会做任何事情。
你可能会看到一个只有measures的皮肤,或只有meters的皮肤,但是,大多数时候,它们是同时存在的。
制造皮肤现在是时候开始制造皮肤了。
首先,你要为你的新皮肤创建一个新文件夹和一个.ini文件。
在做这些之前,你需要找到skins文件夹,如果你正常安装rainmeter,skins文件夹一般会在下面路径中:Windows XP:C:\documents and settings \用户名\My Documents\Rainmeter\Skins\Windows vista或7:C:\用户\用户名\Documents\Rainmeter\Skins一般情况下,你只要打开“我的文档”,在里面找到rainmeter文件夹然后打开rainmeter文件夹,你就会找到skins文件夹了,然后打开skins文件夹,在里面新建一个文件夹,随便你怎么命名,然后在你建的这个文件夹里面新建一个文本文件。
RM-4-RM皮肤制作入门

Rainmeter皮肤制作入门皮肤编写须知所有皮肤都放置在皮肤文件夹中。
所有的皮肤文件都必须放在skins文件夹的子文件夹下面,而且你可以建立多层子文件夹。
实际的皮肤文件是一个普通的.ini文件,利用几个节点定义了皮肤的布局和一些值。
一个皮肤的文件夹可能包含几个.ini文件,但每个文件夹只有一个.ini文件可以处在活动的状态,我们称一个皮肤的所在的文件夹的名称为这个皮肤的config(配置),所有的皮肤文件只是配置下面的一个个皮肤而已,你可以这么理解每一个配置是一个有特定功能的软件,这个软件下面可以选择皮肤来表现自己。
皮肤即.ini文件,它被分为几个部分。
所有的一般性设置会放在[rainmeter]部分,详细信息将被放入[Metadata]节点,变量放在[variables]节点下面。
然后剩下的measure(用来收集检测数据的)和meter(用来显示数据的)。
上面的所有的节点的顺序可以自己随意编写,没有固定的约束,但是通常来说大致编写皮肤的顺序是[rainmeter]->[metadata]->[variables]->[measure]->[meter]注意的一点是:meter编写的顺序是十分重要的, 编写顺序是按照从上到下,meter显示从里到外(也就是说呢,如果两个meter坐标相同,那么代码在下方的meter会覆盖代码比较靠上的meter),还有meter和measure的名称是可以自己定义的.另外说明一点的是[rainmeter]节点以及[metadata]和[variables],[measure]节点都可以不写.一个皮肤可以只有一个[meter]节点.[rainmeter]节点简要说明这个节点定义了整个皮肤操作范围内的选项(简而言之就是在整个当前皮肤中起作用,相当于全局的设定)改变图片遵循下面的步骤: imagecrop -> greyscale ->imagetint ->imageflip ->imagerotate. Background设定meter的背景图片的名称Backgroundmode定义了背景样式,可识别的值如下:0-定义背景图片1-透明的(这个是默认的,如果没有定义背景图片的话)2-纯色(定义这个之后默认是淡淡的灰色,你可以定义solidcolor来改变背景色) 3-缩放的背景图片(一个皮肤的背景相当于一个舞台或者一个画布,你要把这个同在meter里面定义的图片区分开来,在rm里面背景区域是不能人工的在[rainmeter]节点下面定义宽和高的,它的大小随着下面定义的meter的大小而变,那么这里所谓的缩放背景图片随着也会下面的meter显示的区域而改变大小) 4-平铺背景图片Solidcolor当backgroundmode=2的时候,用来定义背景颜色.Update为meter和measure设定了更新周期,单位是毫秒,默认是1000就是1秒,设定为-1的话那么就不会更新皮肤了,那么它只有在皮肤加载或者皮肤刷新的时候才会更新.Meter类型节点简要说明Meters在Rainmeter里面的作用是告诉它如何显示信息用的一系列节点的统称,每个节点的名称都必须是独一无二的,而且必须用”[“和”]”括起来.只要没有空格它不介意你怎么定义meter的名称,而且除了meter节点所在的ini文件之外的文件这些meter将不起作用。
rainmeter高级教程第九讲

使用Plugin=Plugins\WebParser.dll的Measure使用参数"UpdateRate=",作用与UpdateDivider相同
二、更新间隔的设置
CPU/Memory等Measure,设置为1秒基本够用
FreeDiskSpace,设置为数秒,防止对硬盘进行过多操作
rainmeter高级教程第九讲 Update
一、更新间隔
Section[Rainmeter]下的"Update="决定整个皮肤的总更新间隔,单位毫秒,默认为1000,即一秒更新一次
Meter以及非使用Plugin=Plugins\WebParser.dll的Measure使用参数"UpdateDivider=",该Meter或Measure的更新间隔为Update*UpdateDivider,例:当Update=1000而UpdateDivider=30时,每30秒更新一次;当Update=100而UpdateDivider=20时,每2秒更新一次
重新绘制皮肤,同时会更新所有Meter,不更新Measure
6.!UpdateMeter,!UpdateMeterGroup,!UpdateMeasure,!UpdateMeasureGroup
立刻更新相应Meter/Measure,忽略UpdateDivider/UpdateRate参数
使用Plugin=Plugins\WebParser.dll的Measure,设置为数分钟,防止对某站点过于频繁的访问,否则每秒一次的更新可能占用过多带宽,甚至令对方服务器禁掉你的IP
某些诸如用户名之类的不太可能在一次开关机时间内变化可以设置为1小时
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一节制作流程开头部分Rainmeter有两项必需写的Author=作者Update=皮肤的刷新率,1000=1秒,默认=1000.其他的根据需要写,比如AppVersion指定所需的RM版本,BackgroundMode定义背景模式等等。
这里,对MouseActionCursor这个很多人还不清楚的做下讲解。
如果你后面的Meter定义成Button按钮,并且该按钮带有鼠标活动(好比开始菜单球球,鼠标有滑入按下离开三种行为),可以在开头部分将MouseActionCursor=0,否则后面的Meter会被遮挡,因为该值默认为1.元数据和变量Metadata元数据定义数据结构大小创建时间等等一些信息,对整个皮肤不起作用,所以很多皮肤没有这段或干脆留空。
Variables 变量这段很关键,如果皮肤较大,一些常用的像Font,FontColor等建议放入此处,倒不是图写起来方便,而是修改起来十分方便,整个皮肤看上去也整洁了许多。
调用RM内置变量用@include=加路径引出。
测量部分MeasureMeasure的类,共计13个类,每个类有各自的子项,详细规定了类的属性。
CPU测算CPU负载(如多核可调用PerfMon插件)。
Memory测算内存总利用率。
PhysicalMemory测算物理内存分配。
SwapMemory测算虚拟内存分配。
NetIn测算网络下载流量。
NetOut测算网络上载流量。
NetTotal测算网络总流量。
FreeDiskSpace测算空闲硬盘总量。
PefMon测算终端性能数据。
Uptime显示系统开机后持续的时间。
Plugin插件Registry测算注册表值。
Time测算当前时间和日期。
Calc计算公式。
显示部分(表现方式)MeterMeter的类,共计8个类,每个类有各自的子项,详细规定了类的属性。
HISTOGRAM直方图STRING字符串BAR进度条BITMAP位图IMAGE图像LINE线ROTATOR旋转BUTTON按钮第二节实战起步例 CPU的监测CPU使用率先来看单核代码段[MeasureCPU]Measure=CPU 定义Measure类为CPU[Procesor]MeasureName=MeasureCPU 取前面的测量值Meter=BAR 定义Meter的类为BAR,百分率的后面(四核)讲。
X=Y=H= BAR的高度W= BAR的宽度BarColor=255,255,255,120;BAR的颜色,为十进制16色RGB,也可以用16进制(FF00##)表达。
最后0~255指定透明度。
BarOrientation=VERTICAL BAR的方向性,此处为垂直,水平=HORIZONTAL注意大写Flip=0 如设置为1则反转BAR的方向上-下,左-右。
以目前大家比较关心的四核为例[MeasureCPU0]Measure=Plugin 定义Measure类为插件Plugin=Perfmon.dll 调用系统性能终端监视器插件PerfMonObject="Processor" 项目名称PerfMonInstance=0 核的序号,此处为CPU1,四核分别为0 1 2 3PerfMonCounter="% Processor Time" 计数器名,也可以设置为“Total",没有实例留空。
PerfMonDifference=1 两次测量的差值,设置为0为当前值InvertMeasure=1 设置为1单个的值,如设置为0则叠加数据。
[CPU0]MeasureName=MeasureCPU0 取测量值Meter=STRING 定义Meter的类为字符串Percentual=1 设置为1以百分数显示X=Y=FontColor=StringStyle=NORMAL(BOLD,ITALIC,BOLDITALIC)分别为正常加粗斜体斜体加粗FontSize=StringAlign=LEFT(RIGHT,CENTER) 对齐,分别为:左,右,居中FontFace= 字体,必需为系统已有的NumOfDecimals=1 整数,设置为0显示小数Text="CPU1使用率: %1%"AntiAlias=1 开启抗锯齿CPU温度原来XP下有个CORETEMP插件,WIN7下不能用,要监测的话只能调用外部小程序speedfan,关于这个,详见我在本坛的另一帖。
/thread-250799-1-1.html不再叙述。
第三节律动-旋转的地球熟悉RM的都用过时钟皮肤,那么时针分针是如何实现旋转的呢?今天我们抛开时间,以旋转的地球为例,讲讲Meter 的类ROTATOR旋转。
请看代码:[Rainmeter]Author=Update=50 刷新率,要求较高的刷新率[MeasureTime]Measure=Time 测算时间AverageSize=20 最后20次测量平均值[MeasureCalc]Measure=Calc 定义为计算公式Formula=MeasureTime * 40 将测得的时间数据放大[MeterRotator]Meter=ROTATOR 定义类为ROTATOR旋转MeasureName=MeasureCalcImageName=;旋转的图像名,事先PS好图,尺寸和下面的W H相同,实际上本例中旋转的图片是背景透明的正方体,只不过你看到的是球体在转。
X=Y=W=90OffsetX=45.5 图片偏离X轴中心位置,近似于球体半径OffsetY=45.5 同上 Y轴StartAngle=6.2832 旋边的起始角,以弧度计2ЛRotationAngle=6.2832 旋边的终角,以弧度计2ЛValueReminder=1200 设定旋转一周时间,这个值除以上面的放大倍数40为实际转一周所需时间第四节变量条件语句RM最初只是监测系统参数,严格意义上来说不是编程语言,没有C或JAVA那样用起来顺手。
留给我们发挥的空间很窄,但是,掌握好本节内容才算真正掌握了RM,这一节在实战中所占比例极高。
变量CounterCounter是Measure的类Calc中的重要特殊变量,说重要,是因为Counter是rainmeter 中唯一仅有的一个自变量,说特殊,是因为 Counter在所有Measure更新完后自更新(值加1)。
下面以一段GIF动画制作来讲解Counter的运用如下图:这是一段GIF动画,网上淘来的,先用PS自带的一款软件ImageReady将其解到动画帧,共得到21帧图,给每一帧重新编号1~21,如下图:编写代码:要求Update小于1000[ImageMeter]Meter=ImageImageName=gif\[ImageNumberCalc].png rainmeter中.前面可以插值,这里取下面计算公式得到的值1~21DynamicVariables=1 初始值为1,没这句不显示X=[ImageNumberCalc]Measure=CalcFormula=Counter % 21Counter不断增加,除以21后值在1~21之间循环*注最低要求3帧Substitute=".00000":"" 取整数条件语句IfAboveAction如果实际测量值超过设定值时执行的命令。
IfAboveValueIfAboveAction的设定值。
IfBelowAction如果实际测量值低于设定值时执行的命令。
IfBelowValueIfBelowAction的设定值。
IfEqualAction当测量值等于IfEqualValue定义的值时执行的命令,值四舍五入到整数。
IfEqualValueIfEqualAction的设定值。
实例以我的竖日历皮肤为例:/thread-257616-1-1.html 代码段:[SetDay_31]Measure=CalcFormula=MeasureMonthRangeIfBelowValue=31IfBelowAction=!execute [!RainmeterHideMeter label.Day31]IfAboveValue=30IfAboveAction=!execute [!RainmeterShowMeter label.Day31]这是其中的一段,看这个月有没有31号,有则显示,没有则不显示。
这一段还传达给你一条信息:条件语句的位置,是用在测量部分。
第五节插件如果你问我,rainmeter中共计有多少插件?答案是不知道。
我只能告诉你插件是RM 的重要组成部分,因为RM本身功能并不强大,因为有了各种各样插件的加入,才使得RM 的作用域越来越宽广,RM提供了很好的插件和外部程序接口,故而插件撑起了RM的半边天。
随着RM的不断发展,更多的插件加入到了RM队伍行列。
下面给出的是插件列表,不一定全。
前面已讲了PerfMon.dll插件(监测CPU),AdvancedCPU.dll和它相似,只不过增加了进程过滤功能。
PingPlugin.dll是ping服务器和监测网络延迟。
PowerPLugin.dll是本本电源。
WifiStatus和wirelessInfo是无线网卡。
luna.dll农历插件,ttplay.dll千千插件,SpeedFan.dll为温度插件。
MBM5Plungin.dll是MBM5校验,iTunesPlugin.dll是iTunes播放器插件。
最后一列下面两个是RM1.3新增加的,分别为:虚拟桌面和系统音量插件。
虚拟桌面的范例还没来得及做,以后再补。
音量插件的范例见我的另一帖:/thread-261424-1-1.html这一节重点讲两个常用的插件QutePlugin.dll和WebParser.dll.QutePlugin.dll是抓取图片插件,用于相册皮肤。
代码:[MeasurePlugin]Measure=PluginPlugin=Plugins\QuotePlugin.dllPathName=图片所在的路径FileFilter=*.jpg;*.jpeg;*.png;*.bmp;*.gif 图片格式。
可以为gif,但是只显示为静态的。
Subfolders=1 替换子文件夹,由于该插件是用javascript脚本编写,这两项可以看出java的影子。
[Pic]MeasureName=MeasurePluginMeter=IMAGEX=Y=W= 图片宽度H= 图片高度假使要为图片加背景框,加代码如下[BG]Meter=IMAGEX=0Y=0ImageName= 背景框图片名如果不用背景框,只想用线勾勒出相框,加代码[LINE]Meter=IMAGE *千万注意,此处为什么定义为IMAGE而不是LINE? 因为LINE必需和Measure捆绑,单独用LINE会出错。