口袋数码论坛's Archiver

关东 发表于 2007-8-9 16:12

rlToday+MortScript入门教程+新增加汉化rlToday软件+黑水晶皮肤打包,一键安装

[size=5][font=黑体][align=center]rlToday+MortScript入门教程[/align]
[font=宋体][size=2]一、认识rlToday
rlToday是一个今日插件,但它本身什么也没有提供,利用它,你却又能在今日桌面上显示任何你想要显示的东西,它实际上应该是一个今日插件的平台。它的使用目标是以功能为主,而不是一个单纯的桌面美化软件。它能调用MortScript,因此它的功能可以得到很大程度的提升,在这个平台上,只要你能想到,就想办法去做吧,就怕你想不到。它与其它有类似功能的软件相比有几点很大的不同。一是调用方式不同:安装完成后,你只要在系统的今日选项卡里钩选一下就行了,与其他今日插件是同等待遇,不想用了也是去今日选项卡里面取消选择就行,与其它今日插件一样,不用的时候只占用很小的内存。其他软件基本上都是以外壳的形式存在的,系统运行以后要调用,没有退出以前系统是被这些外壳程序控制的,需要占用比较大的内存。二是运行方式不同:比如像spb shell、WAD、PPX一些桌面美化软件,是一种外壳工具,他把系统本身包裹起来,穿上一件漂亮的外衣,你的美化操作都是针对外壳的,这些外壳有虚拟页的功能,这些虚拟页是同时存在的,你可以随意来往于各个不同的虚拟页,很方便,但要以牺牲内存为代价。rlToday不同的是,它没有建立虚拟页,只是将桌面做成了很多不同的表现形式,想用哪一个就调用那一个,从使用者的角度看,和其他虚拟页的感觉是一样的,这正是它的聪明之处,因为只要你的存储空间允许,它可以设置任意数量的桌面表现形式,而不会增加使用内存的数量。三是操作方式不同:rlToday很简单,程序只有300K,实现复杂的功能要和MortScript配合使用,它给用户提供了一个可以编程的机会,用户可以发挥自己的想象力去完成它本身没有提供的功能,而其他外壳工具往往在这一点上把用户限制了,正是这一点是rlToday的生命力的所在。
二、软件的安装
第一步,安装rlToday和MortScript
rlToday和MortScript分别是二个CAB文件,拷贝到PPC上运行,不需要进行任何设置,在PPC的Program Files夹下产生MortScript和rlToday二个文件夹。
[/size][/font][align=left][attach]600628[/attach][/align][size=2][font=宋体]MortScript文件夹可以不去管它,rlToday文件夹下会有一些目录和文件,每一个目录都是一页皮肤文件(注意是一页),这些目录和文件会有不同。还有一些后缀为mscr的脚本文件(脚本文件后面会提到,是我们的重点),一个dll文件和一个ini文件,rlToday.ini是他的配置文件,可以用记事本打开来修改。
[attach]600629[/attach]
第二步,配置rlToday
在系统的今日设置里选择项目,然后选中rlToday,关闭其他今日插件。
[attach]600630[/attach]
返回桌面,会出现rlToday.ini里面配置的桌面,如果不是也没有关系,操作都是一样的。
(图4)
[attach]600631[/attach]
在桌面上插件的显示区域内常按屏幕,会弹出一个菜单,选择options进入选择页面。
[attach]600632[/attach][attach]600633[/attach]
在Skin下拉菜单里选择你需要的皮肤,一般皮肤名称前部分一样的时代表同一款皮肤,序号不同代表不同页面,选哪一个都可以,因为它们是互相调用的。
Apps选项卡里面可以定义你想要在桌面上显示的快捷程序,只要Add就可以了。
[attach]600634[/attach]
返回桌面,OK
[/font]



[/size][font=宋体][font=宋体][size=2]三、编一个简单的小插件
先编一个非常常见的小插件,一个模拟时钟和日历,
[attach]600635[/attach]
第一步,建立一个目录,名称随便,这里就叫时钟。
第二步,准备素材。这里只需要一个钟面,可以自己画一个,也可以到网上去搜一下,大把。最好是png格式,因为这样就可以做成透明的了。在这里用了一个图片sys.png。放在目录中
(图sys.png)
[attach]600636[/attach]
第三步,用记事本建立一个文本文件,名字为skin,后缀必须是XML,然后输入以下文本内容:
[/size][/font][size=2][font=宋体]<?xml version="1.0" encoding="gb2312"?>
<today height="100" refresh="100">
[/font]
[font=宋体]<AnalogClock timezone="0" x="50" y="2" clockface="sys.png" />[/font]
[/size][size=2][font=宋体]<Date x="170" y="4" format="yyyy MMM" Alignment="Center" color="RGB(215, 215, 215)">
[/font]
[font=宋体]<Font size="12" weight="normal" font="Tahoma" /> [/font]

[font=宋体]</Date>[/font]

[font=宋体]<Date x="170" y="20" format="d" Alignment="Center" color="RGB(255, 255, 255)">[/font]

[font=宋体]<Font size="24" weight="normal" font="Tahoma" />[/font]

[font=宋体]</Date>[/font]

[font=宋体]<Date x="170" y="50" format="ddd" Alignment="Center" color="RGB(230, 230, 230)">[/font]

[font=宋体]<Font size="12" weight="normal" font="Tahoma" />[/font]

[font=宋体]</Date>[/font]
[/size][font=宋体][size=2]</today>

其中,第一行不用管它,照写就行。第二行,today height="100"代表你要做的插件在今日屏幕上需要占用的高度为100个像素。第三行,定义了一个时钟,这是rlToday内部提供的,timezone="0"是时区,在rlToday设置里有一个Time选项,把除China以外的都去掉,这个参数就不用动了。X和y分别代表屏幕坐标,表示你要将时钟图片放在那里,clockface="sys.png"是表示你要用的钟面的图片。第四行到第十二行定义了一个日历,可以定义的有格式、位置、颜色、字体、字体大小等项目。
[/size][/font][font=宋体][font=宋体][font=宋体][font=宋体][font=宋体][font=宋体][size=10.5pt]第四步,写完以后存盘,然后将整个目录拷贝到[/size][/font][size=10.5pt]PPC[/size][font=宋体][size=10.5pt]你安装[/size][/font][size=10.5pt]rlToday[/size][font=宋体][size=10.5pt]的目录下,按照软件安装节里的第二步操作,选取你刚做好的时钟作为皮肤。[/size][/font][/font]
[font=宋体][font=宋体][size=10.5pt][attach]600637[/attach][/size][/font][/font]
[font=宋体][font=宋体][size=10.5pt][font=宋体][font=宋体]欣赏一下你自己的大作吧,千好万好不如自己的好。[/font][/font]
[font=宋体][font=宋体]四、增加功能[/font][/font]
[font=宋体]1[font=宋体]、直接调用定义好的应用程序[/font][/font]
[font=宋体][font=宋体]刚才做的插件只能显示一个时钟和日历,没有任何动作,现在加上一些命令,让他能够做一些简单动作。[/font][/font]
[font=宋体]
<Date x="170" y="4" format="yyyy MMM" Alignment="Center" color="RGB(215, 215, 215)">[/font]
[font=宋体]
<Font size="9" weight="normal" font="Tahoma" /> [/font]
[font=宋体]
<OnClick File="\Windows\Calendar.exe" />[/font]
[font=宋体]
</Date>[/font]
[font=宋体][font=宋体]我们在原来显示年月的语句里加了一条命令[/font]<OnClick File="\Windows\Calendar.exe" />[font=宋体],它的含义是在屏幕上点击显示出来的年月的位置,会触发一条命令,去执行[/font]Windows[font=宋体]目录下的[/font]Calendar.exe[font=宋体]文件,这是系统自带的日历。保存好,点击屏幕出现弹出菜单,这次选择[/font]Reload Skin[font=宋体],它会重新装入皮肤文件,然后点一下屏幕上显示年月的地方,看看发生了什么。[/font][/font]
[font=宋体][font=宋体]这时最直接的程序调用,你可以用文字、图片来作为点击的目标,实现程序调用。[/font][/font]
[font=宋体][font=宋体]这是用图片作为点击目标的语句:[/font][/font]
[font=宋体]
<Image x="0" y="101" source="1.png">[/font]
[font=宋体]
<OnClick File="\Windows\fexplore.exe" />[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]
<Image x="40" y="101" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\WM5torage\WM5torage.exe" />[/font]
[font=宋体]
</Image>[/font]
[font=宋体][font=宋体]二个按钮图片分别调用[/font]Windows[font=宋体]目录下的资源管理器和[/font]Program Files[font=宋体]夹下的[/font]U[font=宋体]盘程序。[/font][/font]
[font=宋体][/font]
[font=宋体][font=宋体]这是用图片作为点击目标的语句:[/font][/font]
[font=宋体]
<Text text="[font=宋体]手机短信[/font]" x="24" y="20" alignment="Center" color="RGB(185, 185, 185)" >[/font]
[font=宋体]
<Font size="12" weight="bold" font="Tahoma" />[/font]
[font=宋体]
<OnClick File="\Windows\tmail.exe" />[/font]
[font=宋体]
</Text>[/font]
[font=宋体]2[font=宋体]、在桌面显示快捷程序图标[/font][/font]
[font=宋体][font=宋体]刚才的调用是固定的,当程序运行以后是不能改变的,[/font]rlToday[font=宋体]提供了可以自定义桌面快捷程序的能力,在设置里可以自由添加和删除,如果要显示出这一部分快捷方式,就要加上以下语句:[/font][/font]
[font=宋体]
<Application x="5" y="70" appnumber="0" />[/font]
[font=宋体]
<Application x="45" y="70" appnumber="1" />[/font]
[font=宋体]
<Application x="85" y="70" appnumber="2" />[/font]
[font=宋体]
<Application x="125" y="70" appnumber="3" />[/font]
[font=宋体]
<Application x="165" y="70" appnumber="4" />[/font]
[font=宋体]
<Application x="205" y="70" appnumber="5" />[/font]
[font=宋体][font=宋体]这里定义了五个快捷方式,也就是说做多能显示五个,你可以加上更多的语句,显示更多的快捷方式,语句后面的序号一定不要重复。[/font][/font]
[font=宋体]3[font=宋体]、页面调用[/font][/font]
[font=宋体]PPC[font=宋体]的桌面很小,而我们想要显示的东西很多,都挤在一起不仅难看也不方便,于是出现了虚拟桌面,[/font]rlToday[font=宋体]没有使用虚拟桌面,而是采用了调用一个全新的页面来显示不同的内容,需要的时候就调用,而不是切换。好处就是节省内存。下面是一段调用新页面的语句:[/font][/font]
[font=宋体]
<Image x="0" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H0"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][font=宋体]这是通过点击图片来进行调用的,但是在[/font]OnClick[font=宋体]语句中,并不是上一节里面介绍的直接调用皮肤文件,而是通过[/font]MortScript.exe[font=宋体]文件执行了一条命令,它有二个参数,第一个是脚本文件的路径和名称,第二个是[/font]"skin=H0"[font=宋体],这是通过调用一个叫做[/font]ChangeVista.mscr[font=宋体]的脚本文件去打开一个皮肤文件,我们看一下[/font]ChangeVista.mscr[font=宋体]文件中有什么内容,[/font][/font]
[font=宋体]installdir=RegRead("HKLM", "\SOFTWARE\Apps\rotlaus Software rlToday\", "InstallDir")[/font]
[font=宋体]inifile=installdir\"rlToday.ini"[/font]
[font=宋体]Switch(skin)[/font]
[font=宋体]
Case("H0")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H0")[/font]
[font=宋体]
Case("H1")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H1")[/font]
[font=宋体]
Case("H2")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H2")[/font]
[font=宋体]
Case("H3")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H3")[/font]
[font=宋体]
Case("H4")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H4")[/font]
[font=宋体]
Case("H5")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H5")[/font]
[font=宋体]
Case("H6")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H6")[/font]
[font=宋体]
Case("H7")[/font]
[font=宋体]
IniWrite(inifile, "General", "Skinfile", "Vista_H7")[/font]
[font=宋体]EndSwitch[/font]
[font=宋体]RedrawToday[/font]
[font=宋体][font=宋体]脚本首先通过读取注册表获得[/font]rlToday[font=宋体]的安装路径,调用配置文件,然后是一组[/font]Case[font=宋体]语句,用来选择需要调用的皮肤文件,每个皮肤文件都是和一个相应的目录对应的。你可以随意改动文件夹的名称,只要在这个文件里做相应改动就行,而不用去逐个修改皮肤文件。[/font][/font]
[font=宋体][font=宋体]如果做一排按键,分别调用不同的页面,它的程序是这样的:[/font][/font]
[font=宋体]
<Image x="0" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H0"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]
<Image x="40" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H1"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]
<Image x="80" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H2"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]
<Image x="120" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H3"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]
<Image x="160" y="1" source="1.png">[/font]
[font=宋体]

<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H4"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]
<Image x="200" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H5"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]4[font=宋体]、管理其他插件[/font][/font]
[font=宋体][font=宋体]桌面应用最重要的应该是能够对插件进行管理,做不到这一点,桌面很难清爽的了,[/font]rlToday[font=宋体]是通过对注册表的操作来实现管理的。在刚才调用页面的程序的基础上,增加了二条语句:[/font][/font]
[font=宋体]
<Image x="40" y="1" source="1.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\Set4.mscr" "V=0"'/>[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\Set3.mscr" "V=1"'/>[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H1"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][font=宋体]可以看得出来,增加的语句结构与刚才的一样,只不过调用的脚本文件不同而已,秘密还是在脚本文件里,我们看一下[/font]Set4.mscr[font=宋体]和[/font]Set3.mscr[font=宋体]这二个文件的内容:[/font][/font]
[font=宋体]Set4.mscr[font=宋体]文件中只有一行语句[/font][/font]
[font=宋体]RegWriteDWord("HKLM","SOFTWARE\Microsoft\Today\Items\""Spb Diary""\","Enabled",V )[/font]
[font=宋体][font=宋体]这是对注册表的写操作,这是路径:[/font]SOFTWARE\Microsoft\Today\Items\""Spb Diary""\[font=宋体],这是键值:[/font]Enabled[font=宋体],这是参数:[/font]V[font=宋体],[/font]V=1[font=宋体]是激活插件,否则反之。[/font][/font]
[font=宋体][font=宋体]上面的调用语句中[/font]V=0[font=宋体],就是要关闭这个插件,通过路径我们可以看出这个插件是[/font]"Spb Diary"[font=宋体]。[/font][/font]
[font=宋体]Set3.mscr[font=宋体]文件中有二条语句,[/font] [/font]
[font=宋体]RegWriteDWord("HKLM","SOFTWARE\Microsoft\Today\Items\""Spb Weather""\","Enabled",V )[/font]
[font=宋体]RegWriteDWord("HKLM","SOFTWARE\Microsoft\Today\Items\""GPRS Monitor""\","Enabled",V )[/font]
[font=宋体][font=宋体]看得出来分别是[/font]"Spb Weather"[font=宋体]和[/font]"GPRS Monitor"[font=宋体]二个插件,在上面的调用语句中给这个脚本文件的参数是[/font]V=1[font=宋体],也就是说要激活[/font]"Spb Weather"[font=宋体]和[/font]"GPRS Monitor"[font=宋体]这二个插件。当按下这个按钮就是要关闭[/font]"Spb Diary"[font=宋体]这个插件,同时激活[/font]"Spb Weather"[font=宋体]和[/font]"GPRS Monitor"[font=宋体]二个插件,然后调用一个新的皮肤文件。[/font][/font]
[font=宋体][font=宋体]这时执行以后的屏幕状态:[/font][/font]
[attach]600638[/attach]
[font=宋体][font=宋体]要想了解已经安装的今日插件,只要看一下今日的设置就行了。[/font][/font]
[font=宋体][attach]600639[/attach][/font]
[font=宋体][font=宋体][font=宋体]但是有一点需要注意,插件的名称有的带引号,有的不带,不要弄错了,这一点在今日设置里看不出来,可以通过[/font]SKTools[font=宋体]软件查询一下:[/font][/font]
[font=宋体][font=宋体][attach]600640[/attach][attach]600641[/attach][/font][/font]
[font=宋体][font=宋体][font=宋体][font=宋体]注意在这里可以看出[/font]"GPRS Monitor"[font=宋体]是带引号的。[/font][/font]
[font=宋体]5[font=宋体]、最小化[/font][/font]
[font=宋体][font=宋体]在很多情况下,我们只想让桌面干干净净,除了其他插件要隐藏以外,[/font]rlToday[font=宋体]自己也要最小化,要实现这一点非常容易,只要将插件高度定义的小一些就行了。[/font][/font]
[font=宋体]<today height="15" refresh="1000">[/font]
[font=宋体][font=宋体]这个插件的高度只有[/font]15[font=宋体]个像素。[/font][/font]
[attach]600642[/attach]
[font=宋体]6[font=宋体]、隐藏[/font][/font]
[font=宋体][font=宋体]如果把插件的高度定义的更小一些是否可以隐藏呢,当然可以,不过隐藏的同时也会给你带来更多的麻烦,因为你再也找不着这个插件了,实现隐藏,当然还要让它能够随时调回来,我是用另外的方法实现的。[/font][/font]
[font=宋体]<?xml
version="1.0"
encoding="gb2312"?>[/font]
[font=宋体]<today height="245" refresh="100">[/font]
[font=宋体][/font]
[font=宋体]
<Image x="0" y="0" source="H5.png">[/font]
[font=宋体]
<OnClick File="\Program Files\MortScript\MortScript.exe" command='"\Program Files\rlToday\ChangeVista.mscr" "skin=H0"'/>[/font]
[font=宋体]
</Image>[/font]
[font=宋体][/font]
[font=宋体]</today>[/font]
[font=宋体]H5.png[font=宋体]是一张全屏幕尺寸的空白透明的图片,将插件的尺寸定到全屏,因为是透明图片,运行后桌面完全看不到插件,但是点击屏幕任何地方都能将插件重新找回来。[/font][/font]
[attach]600643[/attach]




[font=宋体][font=宋体]五、使用[/font]MortScript[font=宋体]经常会用到的命令与操作:[/font][/font]
[font=宋体][/font]
[font=宋体][font=宋体]字符串操作[/font][/font]
[font=宋体]-----------------[/font]
[font=宋体]string = Split( <string>,<seperator>,<trim?>,<variable>{,<variable>} ) (if only one variable, it's used as array)[/font]
[font=宋体]string = Part( <string>,<seperator>,<index>[,<trim?>] )[/font]
[font=宋体]int= Length( <string> )[/font]
[font=宋体]string = SubStr( <string>,<start>,<length> )[/font]
[font=宋体]int= Find( <string>,<search string> )[/font]
[font=宋体]string = Replace( <string>,<search string>,<new string> )[/font]
[font=宋体]int= ReverseFind( <string>,<search character> )[/font]
[font=宋体]string = ToUpper( <string> )[/font]
[font=宋体]string = ToLower( <string> )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]程序运行[/font][/font]
[font=宋体]---------[/font]
[font=宋体]Run( <application> [, <parameter>] )[/font]
[font=宋体]RunWait( <application> [, <parameter>] )[/font]
[font=宋体]New( <menu entry> ) (Windows Mobile only)[/font]
[font=宋体][/font]
[font=宋体]RunAt( <unix timestamp>, <application> [, <parameter>] )[/font]
[font=宋体]RunAt( <year>, <month>, <day>, <hour>, <minute>, <application> [, <parameter>] )[/font]
[font=宋体]RunOnPowerOn( <application> [, <parameter>] )[/font]
[font=宋体]RemoveNotifications( <application> [, <parameter>] )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]窗口控制[/font][/font]
[font=宋体]--------------[/font]
[font=宋体]Show( <window title> )[/font]
[font=宋体]Minimize( <window title> )[/font]
[font=宋体]Close( <window title> )[/font]
[font=宋体]string = ActiveWindow()[/font]
[font=宋体]bool= WndActive( <window title> )[/font]
[font=宋体]bool= WndExists( <window title> )[/font]
[font=宋体]WaitFor( <window title>,<seconds> )[/font]
[font=宋体]WaitForActive( <window title>,<seconds> )[/font]
[font=宋体]string = WindowText( <x>, <y> )[/font]
[font=宋体]GetWindowPos( <window title>, <left>, <top>, <right>, <bottom> )[/font]
[font=宋体]int= WndLeft( <window title> )[/font]
[font=宋体]int= WndRight( <window title> )[/font]
[font=宋体]int= WndTop( <window title> )[/font]
[font=宋体]int= WndBottom( <window title> )[/font]
[font=宋体]SendSpecial( <key> [, <state> )[/font]
[font=宋体]
Available keys (quoted string): Alt, Ctrl, Shift, CR, Win, Context, Tab, ESC, Space,[/font]
[font=宋体]
Up, Down, Left, Right, Home, End, PageUp, PageDown, Delete, Backspace, Insert, Snapshot,[/font]
[font=宋体]
F1 - F12, LeftSoft, RightSoft[/font]
[font=宋体]
Availabe states (quoted string): up, down - omit parameter for short press[/font]
[font=宋体]SendOK [ ( <window title> ) ][/font]
[font=宋体]SendCancel [ ( <window title> ) ][/font]
[font=宋体]SendYes [ ( <window title> ) ][/font]
[font=宋体]SendNo [ ( <window title> ) ][/font]
[font=宋体][/font]
[font=宋体][font=宋体]鼠标事件[/font][/font]
[font=宋体]-----------------------------[/font]
[font=宋体]MouseClick( [<window title>,]<x>,<y> )[/font]
[font=宋体]MouseDblClick( [<window title>,]<x>,<y> )[/font]
[font=宋体]MouseDown( [<window title>,]<x>,<y> )[/font]
[font=宋体]MouseUp( [<window title>,]<x>,<y> )[/font]
[font=宋体][/font]
[font=宋体][/font]
[font=宋体][font=宋体]延时[/font][/font]
[font=宋体]-------[/font]
[font=宋体]Sleep( <milliseconds> )[/font]
[font=宋体]SleepMessage( <seconds>,<message>[,<title>[,<allowOK>[,<condition]]] )[/font]
[font=宋体]WaitFor( <window title>,<seconds> )[/font]
[font=宋体]WaitForActive( <window title>,<seconds> )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]时间[/font][/font]
[font=宋体]----[/font]
[font=宋体]int= Time()
(Unix timestamp)[/font]
[font=宋体]string = FormatTime( <format> [, <timestamp> ] ) (formatted)[/font]
[font=宋体]GetTime( <variable>,<variable>,<variable> ) (hour, minute, seconds)[/font]
[font=宋体]GetTime( <variable>,<variable>,<variable>,<variable>,<variable>,<variable> )[/font]
[font=宋体]
(hour, minute, seconds, day, month, year)[/font]
[font=宋体][/font]
[font=宋体][font=宋体]文件操作[/font][/font]
[font=宋体]--------------------------------[/font]
[font=宋体]Copy( <source file>,<target file>[,<overwrite?>] )[/font]
[font=宋体]XCopy( <source files>,<target directory>[,<overwrite?>[,<recursive?>]] )[/font]
[font=宋体]Rename( <source file>,<target file>[,<overwrite?>] )[/font]
[font=宋体]Move( <source files>,<target directory>[,<overwrite?>[,<recursive?>]] )[/font]
[font=宋体]Delete( <files> )[/font]
[font=宋体]DelTree( <files> )[/font]
[font=宋体]CreateShortcut( <shortcut file>,<target file>[,<overwrite?>] )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]读写文本文件[/font][/font]
[font=宋体]-------------------------[/font]
[font=宋体]string = IniRead( <file/url>,<section>,<key> )[/font]
[font=宋体]IniWrite( <file>,<section>,<key>,<value> )[/font]
[font=宋体]string = ReadFile( <file/url> )[/font]
[font=宋体]WriteFile( <file>,<contents>,<append?> )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]文件系统信息[/font][/font]
[font=宋体]------------------------[/font]
[font=宋体]bool= FileExists( <file> )[/font]
[font=宋体]bool= DirExists( <directory> )[/font]
[font=宋体]int= FileCreateTime( <file> )[/font]
[font=宋体]int= FileModifyTime( <file> )[/font]
[font=宋体]int= FileSize( <file> )[/font]
[font=宋体]int= FreeDiskSpace( <directory> )[/font]
[font=宋体]bool= FileAttribute( <file>, <attribute> )[/font]
[font=宋体]bool= SetFileAttribute( <file>, <attribute>, <set?> )[/font]
[font=宋体]
Allowed values for Attribute?[/font]
[font=宋体]
directory (cannot be set), hidden, readonly, system, archive[/font]
[font=宋体]SetFileAttribs( <file>,<readonly>[,<hidden>[,<archive>]] ) (1=set,0=remove,""/omit=keep)[/font]
[font=宋体]string = FileVersion( <file> )[/font]
[font=宋体]GetVersion( <file>,<variable>,<variable>,<variable>,<variable> )[/font]
[font=宋体][/font]
[font=宋体][/font]
[font=宋体][font=宋体]目录操作[/font][/font]
[font=宋体]--------------------[/font]
[font=宋体]MkDir( <directory> )[/font]
[font=宋体]RmDir( <directory> )[/font]
[font=宋体]ChDir( <directory> ) PC version only![/font]
[font=宋体]SystemPath( <path> )[/font]
[font=宋体]
valid values for path: ProgramsMenu, StartMenu, Startup, Documents, ProgramFiles,[/font]
[font=宋体]
ScriptExe, ScriptPath, ScriptName, ScriptExt[/font]
[font=宋体][/font]
[font=宋体][font=宋体]注册表操作[/font][/font]
[font=宋体]--------[/font]
[font=宋体]RegWriteString( <root>,<path>,<key>,<value> )[/font]
[font=宋体]RegWriteDWord(
<root>,<path>,<key>,<value> )[/font]
[font=宋体]RegWriteBinary( <root>,<path>,<key>,<value> )[/font]
[font=宋体]value = RegRead( <root>,<path>,<key> )[/font]
[font=宋体]RegDelete( <root>,<path>,<key> )[/font]
[font=宋体]RegDeleteKey( <root>,<path>,<values?>,<recursive?> )[/font]
[font=宋体]bool= RegKeyExists( <root>,<path> )[/font]
[font=宋体]bool= RegValueExists( <root>,<path>,<value> )[/font]
[font=宋体][/font]
[font=宋体]"root" values: HKCU (HKEY_CURRENT_USER), HKLM (HKEY_LOCAL_MACHINE),[/font]
[font=宋体]
HKCR (HKEY_CLASSES_ROOT), HKUS (HKEY_USERS)[/font]
[font=宋体][/font]
[font=宋体]Binary values are handled as strings whith the hex dump, e.g. "01020A".[/font]
[font=宋体][/font]
[font=宋体][font=宋体]对话框[/font][/font]
[font=宋体]------[/font]
[font=宋体]string = Input( <message> [,<title> [,<numeric?> [, <multiline?> [, <default> ]]]] )[/font]
[font=宋体]Message( <text>[,<title>] )[/font]
[font=宋体]BigMessage( <text>[,<title>] )[/font]
[font=宋体]SleepMessage( <seconds>,<message>[,<title>[,<allowOK>[,<condition]]] )[/font]
[font=宋体]int= Question( <message> [,<title> [,<type>]] )
(Type=OkCancel,YesNo,YesNoCancel; Yes/OK=1,No=0,Cancel=2)[/font]
[font=宋体]int= Choice( <title>,<message>,<default>,<timeout>,<array> ) (if only one text is given, it's assumed to be a array variable)[/font]
[font=宋体]int= Choice( <title>,<message>,<default>,<timeout>,<text1>,<text2>{,<text3>} ) (if only one text is given, it's assumed to be a array variable)[/font]
[font=宋体]string = SelectDirectory( <title>, <message> [,<default>] )[/font]
[font=宋体]string = SelectFile( <title>, <save?> [, <filter> [, <info> [,<default>]]] )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]进程管理[/font][/font]
[font=宋体]---------[/font]
[font=宋体]bool= ProcExists( <process name> )[/font]
[font=宋体]bool= ScriptProcExists( <script name> )[/font]
[font=宋体]string = ActiveProcess()[/font]
[font=宋体]Kill( <process name> )[/font]
[font=宋体]KillScript( <script name> )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]信号[/font][/font]
[font=宋体]-------[/font]
[font=宋体]SetVolume( <value> )
(Windows Mobile only)[/font]
[font=宋体]PlaySound( <wav file> )[/font]
[font=宋体]Vibrate( <milliseconds> )[/font]
[font=宋体][/font]
[font=宋体][font=宋体]屏幕显示[/font][/font]
[font=宋体]--------------[/font]
[font=宋体]int= ColorAt( <x>,<y> )[/font]
[font=宋体]int= RGB( <red>,<green>,<blue> )[/font]
[font=宋体]int= Red( <color> )[/font]
[font=宋体]int= Green( <color> )[/font]
[font=宋体]int= Blue( <color> )[/font]
[font=宋体]Rotate( 0|90|180|270 ) (only Windows Mobile 2003 SE or higher)[/font]
[font=宋体]SetBacklight( <battery>,<external> ) (PPC only)[/font]
[font=宋体]ToggleDisplay( <on/off> ) (PPC only)[/font]
[font=宋体]bool= Screen( "landscape"|"portrait"|"square"|"vga"|"qvga" )[/font]
[font=宋体]RedrawToday[/font]
[font=宋体]ShowWaitCursor[/font]
[font=宋体]HideWaitCursor[/font]
[font=宋体][/font]
[font=宋体][font=宋体]剪贴板[/font][/font]
[font=宋体]---------[/font]
[font=宋体]SetClipText( <text> )[/font]
[font=宋体]string = GetClipText()[/font]
[font=宋体][/font]
[font=宋体][font=宋体]内存[/font][/font]
[font=宋体]------[/font]
[font=宋体]int= FreeMemory()[/font]
[font=宋体]int= TotalMemory()[/font]
[font=宋体][/font]
[font=宋体][font=宋体]电力[/font][/font]
[font=宋体]------[/font]
[font=宋体]bool= ExternalPowered()[/font]
[font=宋体]int= BatteryPercentage()[/font]
[font=宋体]PowerOff[/font]
[font=宋体]IdleTimerReset (Windows Mobile only)[/font]
[font=宋体][/font]
[font=宋体][font=宋体]系统[/font][/font]
[font=宋体]------[/font]
[font=宋体]MortScriptType()[/font]
[font=宋体]value = SystemVersion( [<element>] )[/font]
[font=宋体]
element: "major", "minor", "build", "platform", omit for major.minor.build[/font]
[font=宋体]Reset (Windows Mobile only)[/font]
[font=宋体][/font]
[font=宋体][font=宋体]程序流程的控制结构[/font][/font]
[font=宋体]==================[/font]
[font=宋体]If ( <condition> )[/font]
[font=宋体]{ ElseIf ( <condition> ) }[/font]
[font=宋体][ Else ][/font]
[font=宋体]EndIf[/font]
[font=宋体][/font]
[font=宋体]
Choice ( <title>,<message>,<text1>[,<text2>,...] )[/font]
[font=宋体]| ChoiceDefault ( <title>,<message>,<default>,<timeout>,<text1>,[<text2>,...] )[/font]
[font=宋体]Case ( <index>[,<index>,...] )[/font]
[font=宋体]EndChoice[/font]
[font=宋体](if only one text is given, it's assumed to be a array variable)[/font]
[font=宋体][/font]
[font=宋体]Switch ( <value> )[/font]
[font=宋体]Case ( <index>[,<index>,...] )[/font]
[font=宋体]EndSwitch[/font]
[font=宋体][/font]
[font=宋体]While ( <condition> )[/font]
[font=宋体]EndWhile[/font]
[font=宋体][/font]
[font=宋体]Repeat ( <count> )[/font]
[font=宋体]EndRepeat[/font]
[font=宋体][/font]
[font=宋体]
ForEach <variable> in values ( <value>{,<value>} )[/font]
[font=宋体]| ForEach <variable>[,<variable>] in array ( <array variable> )[/font]
[font=宋体]| ForEach <variable> in split ( <string>,<seperator>,<trim?> )[/font]
[font=宋体]| ForEach <variable> in charsOf ( <string>,<seperator> )[/font]
[font=宋体]| ForEach <variable> in iniSections ( <file/url> )[/font]
[font=宋体]| ForEach <keyVariable>,<valueVariable> in iniKeys ( <file/url>,<section> )[/font]
[font=宋体]| ForEach <variable> in regSubkeys ( <root>, <key> )[/font]
[font=宋体]| ForEach <valueVariable>,<dataVariable> in regValues ( <root>,<key> )[/font]
[font=宋体]| ForEach <variable> in files ( <file/url>,<files> )[/font]
[font=宋体]| ForEach <variable> in directories ( <file/url>,<directories> )[/font]
[font=宋体]EndForEach[/font]
[font=宋体][/font]
[font=宋体]Call( <subroutine> { , <parameter> } )[/font]
[font=宋体]CallFunction( <subroutine>, <result variable>, { , <parameter> } )[/font]
[font=宋体](mind to use quotes for the subroutine name, e.g. "Call ("MySubRoutine")"[/font]
[font=宋体]or use the old syntax without parentheses, like "Call MySubRoutine").[/font]
[font=宋体][/font]
[font=宋体]CallScript( <mortscript file (full path!)> { , <parameter> } )[/font]
[font=宋体]CallScriptFunction( <mortscript file>, <result variable>, { , <parameter> } )[/font]
[font=宋体][/font]
[font=宋体]Return( <value> ) (only sets result for Call(Script)Function, does not leave Sub/Script!)[/font]
[font=宋体][/font]
[font=宋体]Sub <subroutine>[/font]
[font=宋体]EndSub[/font]
[font=宋体][/font]
[font=宋体]Exit[/font]
[font=宋体][/font]
[font=宋体][/font]
[/font][/font][/font][/size][/font][/font][/font][/font][/font][/font][/font][/font][/size]

[[i] 本帖最后由 关东 于 2007-8-31 01:37 编辑 [/i]]

关东 发表于 2007-8-9 16:35

我做的几款皮肤,刚开始摸索,算是抛砖吧

[[i] 本帖最后由 关东 于 2007-8-30 18:18 编辑 [/i]]

temp2004 发表于 2007-8-9 16:43

楼主太厉害了!!!景仰中……

p:b p:b p:b 正好在研究MortScript的使用,就看到这篇教程,真是及时雨啊~

blithe_lee 发表于 2007-8-9 16:59

太感谢了,不顶不是人!!

linhk123 发表于 2007-8-9 18:58

我也在研究中,正好看到,我在研究TOUCH风格,在2003下用PHONEALARM不能透明,用这个能透明

wb55785 发表于 2007-8-9 19:27

等的就是他!!!谢谢楼主p:b p:b 学习以后再发言

hilline 发表于 2007-8-9 20:26

很想用rltoday,但是对编程语言一窍不通,楼主的教程,我要好好学习一下.谢谢

redant0320 发表于 2007-8-10 13:26

潜到两万米都被引出来冒泡,跟着楼主一路前进...

zhchea 发表于 2007-8-10 15:54

谢谢了谢谢了 ding

fussup 发表于 2007-8-10 21:08

万分感谢关东兄弟,正努力学习中!!!!

yongyuh 发表于 2007-8-10 23:52

多谢楼主!仔细看看

lvminqiang 发表于 2007-8-11 03:34

好啊,我也正需要它,坚决顶!!!!!

tomasher 发表于 2007-8-11 09:38

使用中,虽然比TOUCH安装稍微麻烦了点,但是占用系统资源真的很少,而且界面选择多,坚决支持楼主继续开发更多更好的界面,希望大家集思广益,把我们的PDA变得越来越漂亮!

sjfsjf123 发表于 2007-8-11 11:06

好东西啊!!!!!!!

kjj533 发表于 2007-8-11 14:57

拜读了楼主的大作,非常喜欢这两个插件,下载并安装了,经过一番折腾,部分设置已经掌握,得到的桌面如下图所示:

[attach]602323[/attach]

但是这里发现一个问题,点击上排菜单栏的1.2.3选项栏,没有弹出任何程序的快捷方式,见下图红圈:

[attach]602324[/attach]

而点击4选项栏则出现了几个程序快捷方式,但不能自定义和更改,见下图红圈:

[attach]602325[/attach]

想修改代码来实现1.2.3.4选项栏分别弹出不同类的程序快捷方式,但由于太复杂,实在是没弄懂,请楼主指导一下该怎么修改.谢谢!

[[i] 本帖最后由 kjj533 于 2007-8-11 16:09 编辑 [/i]]

hilline 发表于 2007-8-11 19:16

可以让不同的插件和rltoday在同一页面显示吗?

关东 发表于 2007-8-11 20:55

[quote]原帖由 [i]kjj533[/i] 于 2007-8-11 14:57 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=4198532&ptid=405178][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
拜读了楼主的大作,非常喜欢这两个插件,下载并安装了,经过一番折腾,部分设置已经掌握,得到的桌面如下图所示:

602323

但是这里发现一个问题,点击上排菜单栏的1.2.3选项栏,没有弹出任何程序的快捷方式,见下图 ... [/quote]
第二、三、四三个按钮可以定义桌面插件,只要修改rlToday目录下相对应的Set2.mscr、Set3.mscr、Set4.mscr文件就行了,用记事本打开,按照里面的格式,把你自己需要的桌面插件填进去,想要增加插件只需要再增加一行命令就行。
第五个按钮自定义桌面快捷方式方法见入门文章里,可以加的。

关东 发表于 2007-8-11 21:00

[quote]原帖由 [i]hilline[/i] 于 2007-8-11 19:16 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=4199834&ptid=405178][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]
可以让不同的插件和rltoday在同一页面显示吗? [/quote]
在一页里可以加很多插件,只要桌面放得下,需要几个插件,在对应的文件里就有几行命令,可以用记事本打开Set2、Set3、Set4三个文件看一下。

kjj533 发表于 2007-8-11 21:42

[quote]原帖由 [i]关东[/i] 于 2007-8-11 20:55 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=4200210&ptid=405178][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]

第二、三、四三个按钮可以定义桌面插件,只要修改rlToday目录下相对应的Set2.mscr、Set3.mscr、Set4.mscr文件就行了,用记事本打开,按照里面的格式,把你自己需要的桌面插件填进去,想要增加插件只需要再增加 ... [/quote]
感谢楼主的指点,基本弄明白了,原来点击2.3.4三个按钮可以调用已经安装在系统中的不同插件,以实现不同的功能.我现在的具体要求是2.3.4三个按钮要分别定义为不同类别的程序,比如说点击2按钮弹出所有娱乐的程序快捷方式,而点击3按钮则弹出所有游戏程序的快捷方式,4则弹出其它类别的程序快捷方式,我的理解应该和5按钮一样都调用的是"Spb Diary"插件,只是快捷方式分类了,这个应该怎么实现呢?

还有现在5按钮弹出的快捷方式只有图中的四个,在rlToday的Apps选项里也只有这4个可定义的程序,怎样才能增加其它的程序(比如说安装在卡上的绿色软件),还请楼主再次给与指点,谢谢!

[attach]602604[/attach]

[[i] 本帖最后由 kjj533 于 2007-8-11 21:56 编辑 [/i]]

关东 发表于 2007-8-11 22:12

[quote]原帖由 [i]kjj533[/i] 于 2007-8-11 21:42 发表 [url=http://bbs.pdafans.com/redirect.php?goto=findpost&pid=4200500&ptid=405178][img]http://bbs.pdafans.com/images/common/back.gif[/img][/url]

感谢楼主的指点,基本弄明白了,原来点击2.3.4三个按钮可以调用已经安装在系统中的不同插件,以实现不同的功能.我现在的具体要求是2.3.4三个按钮要分别定义为不同类别的程序,比如说点击2按钮弹出所有娱乐的程序快 ... [/quote]
第五个按钮定义快捷方式在你调出来的那个界面里选Add就可以了,绿色软件、放在卡里的软件都可以调用。
二、三、四按键如果想要自定义也可以,不过要稍微麻烦一点,在我做的皮肤文件里,有一款Black_H的,里面有实现方法,可以参考。

页: [1] 2 3 4 5 6 7 8 9 10

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.