MortScript中文教程(4.3b11BETA版)——类似autoit的移动开发脚本

MortScript中文教程(4.3b11BETA版) 
转载自:http://www.kegel.com/wine/testsw.html



 一、MortScript概述:

Mort:批量;Script:脚本;MortScript:批处理脚本;(故为顺序逐条执行)

它是一种解释程序,就象Visual Basic的即时解释环境一样。所以,它不生成EXE等可执行程序,而是由MortScript.exe来运行*.mscr或

*.mortrun的脚本文件。当然,如果进行了安装,或设置了文件关联,则可直接点击脚本文件运行。

官方主页:

二、mscr脚本概述:

*.mortrun格式为MortScript的前身MortRunner的兼容脚本。*.mscr格式可用任意文本编辑器来编写脚本,如windows自带的记事本,保存

格式推荐ANSI,当然,它还兼容UNICODE格式。文件名及内容均不区分大小写。

脚本里的空格、制表符、换行连接符:空格和制表占位符可放在命令、函数名、括号、参数、运算符、选项的前、后等位置,但均被忽略

,字符串中需要使用空格则应放在引号内。换行连接符采用\符,放置于所在行的行末。

未指定路径则默认当前脚本所在路径。注释行则是以#开头的行。在INI文件中,则使用;进行注释。

结束以:Exit,退出和结束脚本。

三、MortScript功能:

1、运行、激活,隐藏,关闭应用程序。

2、根据指定条件,执行或延时执行程序、脚本。

3、模拟键盘、鼠标、触笔操作。

4、复制、重命名、移动、删除文件或文件夹,创建文件夹,以及创建快捷方式。

5、支持ZIP格式压缩包。

6、读、写文本文件。

7、读、改注册表。

8、下载、创建、关闭链接。

9、做判断、循环操作。

10、部分系统的旋屏、音量、背光、重启操作。

四、MortScript安装包结构解读:

pc:分别适用WM、CE、SP、win2000、XP、vista系统设备绿色使用。

setup:分别适用WM、CE、SP系统设备,通过PC连接设备同步安装。

cab:分别适用WM、CE、SP系统设备直接安装。

killproc.exe:CE系统结束进程用。不用此功能时,可以不要该文件。

mortzip.dll:除PC系统外适用,用于ZIP压缩包的解压支持文件。

setup.dll:除PC系统外适用,用于CAB包安装、卸载信息记录。

此二个DLL文件,如不使用上述二个功能时,可以不要。

另:适用CE系统的版本,基本兼容适用WM系统。

Autorun.exe:运行该程序,执行同名.mscr脚本,该程序可改名。不改名可放在2577或0文件夹,而得以在拨、插储存卡时支持自动运行(插

卡时执行autorun.mscr,拨卡时执行autoexit.mscr,老程序则为:autorun.mortrun和autoexit.mortrun),当然,并不是所有设备都支持该

功能。且该程序需要MortScript.exe主程序支持。

五、一个PPC独有的可选参数:

/wait=n

n为一个以秒为单位的数字,除此外的所有类似于此的表达式均为变量的定义表达,当然,所有其他参数也不会以/或-开始。该功能用于如关

联了PPC按键,但在PPC唤醒时段不能执行脚本时候的延时辅助。不过,MortScript已默认5秒延时。

六、帮助手册PDF里的命令语法样式说明:

粗体字:命令、函数名、关键字。

斜体字:变量,常用表达式。

[]:中括号为可选项(即可省略项)。

{}:花括号为可多选项或省略项。

():分组,经常用|符来列出可选项。注:函数不能省略括号,命令可以省略。如:message("你好!")和message"你好!"

X|Y|Z:必选其中一个选项,常为定值选择。

七、常用语法:

关键字:

"XXX"

注:引号在字符串里的引用,需要双层使用。

^CR^:回车;^LF^:换行;^NL^:换行;^TAB^:制表符。(^CR^^LF^=^NL^)

字符串表达式:

value=Eval(string)

常数:

3.1415926

变量:

X=表达式

Set(variable,expression)

变量名由:字母、数字(不能以数字打头)、下划线组成,且不区分大小写。

X+=1相当于x=x+1;类似的双目运算符还有:-=、*=、/=、&=、\=。

预定义变量:

TRUE,ON,YES:初始值为1;

FALSE,OFF,NO:初始值为0;

CANCEL:初始值为2;

PI:3.14159266535897932384626433832759

SQRT2:1.4......

PHI:1.6......

EULER:2.7......

全局变量:Global(variable{,variable})

局部变量:Local([variable{,variable}])

数组array[]:实质一种特殊类型的变量。数组名和元素名也是不区别大小写的。

清除变量:

Clear(variable)

检验变量:

bool=IsEmpty(variable)

返回变量类型:

int=VarType(variable)

返回值列表:var_empty;var_int;var_float;var_string;var_array;var_window。

函数:

函数名(参数)

运算符:(按由高到低优先级列表)

()

NOT

^

*,/,MOD

+,-

&,\

>,>=,<,<=,=,<>

gt,ge,lt,le,eq,ne

condition?true:false

AND,&&

OR,||



八、流程控制语句:

1、条件判断控制:

If (wndExists("Word"))

EndIf

While (X<>5)

EndWhile

If (表达式)

{语句}

{ElseIf (表达式)

{语句}}

[Else

{语句}]

EndIf

2、多重分支控制:

Switch (表达式)

Case(参数 {,参数})

{指令}

{Case(参数{,参数})

{指令}}

{Default

{指令}}

EndSwitch

选择对话框:

(

Choice(title,hint,value,value{,value})

Choice(title,hint,array)

ChoiceDefault(title,hint,default,timeout,value,value{,value})

)

Case(value{,value})

{instructions}

{Case(value{,value})

{instructions}}

{Default

{instructions}}

EndChoice

示例:

choice("Test","select a number","one","two","three")

case(1)

message("one")

case(2,3)

message("two or three")

case(3)

message("three")

case(0)

message("cancel")

exit

endchoice

3、条件循环控制:

while(条件)

{表达式}

endwhile

4、迭代循环:

ForEach variable{,variable}in type(parameter{,parameter})

{instructions}

endforeach

ForEach variable in values (value {,value})

ForEach variable in array (array variable)

ForEach key, value in array (array variable)

ForEach variable in split (string,separator,trim?)

ForEach variable in Charsof (string)

ForEach variable in iniSections (file name [,codepage])

ForEach key,value in iniKeys (file name,section[,codepage])

ForEach variable in regSubkeys (root,key)

ForEach value,date in regValues (root,key)

ForEach variable in files (search expression)

ForEach variable in directories (search expression)

5、常数循环:

Repeat (count)

{instructions}

EndRepeat

6、FOR循环:

For variable=start to end [step step]

{instructions}

Next

7、中断和继续:

中断:Break [(structure type)]

继续:Continue [(structure type)]

8、错误处理:

Try

instructions

{Catch

instructions}

EndTry

错误提示等级:ErrorLevel(error level)

off:关闭出错提示;critical:特殊提示;syntax:语法错误提示(参数错误;无效命令;函数名);error:其他错误;warn:文件或文件夹

的移动,复制,重命名出错。

9、子程序及函数的调用:

Sub subroutine [(parameter{,parameter})]

{instructions}

EndSub

内部:

Call (subroutine{,parameter})

CallFunction (subroutine,variable{,parameter})

外部:

CallScript (MortScript file{,parameter})

CallScriptFunction (MortScript file,variable{,parameter})

10、包含子程序的其他文件命令:

Include(file)

11、参数返回:

Return(value)

12、子程序的退出:

ExitSub[(value)]

九、字符串操作:

int=Length(string)

返回字符串字数。(含字符串里的空格)

string=SubStr(string,从左往右第几位[,截取几个])

字符串截取。截取长度省略或超长,则截取至完。截取长度短于字串数,则返回空字符串。位数为负时,则反向截取。

string=CharAt(string,位置)

返回字符串指定位置的字符。

string=Part(string,separator,index[,trim?])

返回字符串指定分隔符部分,并修整移除空格旁的部分。index可为负。

string=Find(string to check,string to search [,start])

字符串包含查找。返回第二个字符串,包含于第一个字符串的位置。start为位置参数。查找区分大小写。

int=ReverseFind(string,character)

返回字符所在字符串位置的倒数位置。

string=Replace(source,old,new)

返回被新替换旧字串后的目标字符串。

string=ToUpper(string)

string=ToLower(string)

大小写转换。

string=UcChar(value)

int=UcValue(string)

字符和Unicode值转换。

string=FilePath(file with path)

string=FileBase(file with path)

string=FileExt(file with path)

文件路径、文件名、文件扩展名的截取。

十、数学函数:

string=Format(value,decimals)

返回值保留小数点后几位,由decimals指定倍数。

string=NumberToHex(int value)

int=HexToNumber(string)

字符的十六进制转换。

int/float=Round(value[,precision])

int/float=Floor(value[,precision])

int/float=Ceil(value[,precision])

四舍五入;四舍五入并取整;取整;

int=Rand(max)

float=Rand()

取随机值。整形取值范围为零至给出的最大值减1。浮点型为零至0.999...

float=Sin(radians)

三角函数。函数有:cos,tan,sinh,cosh,tanh,arcsin,arccos,arctan。

float=Log(value)

对数与指数。函数有:Log10,Exp。

float=Sqrt(value)

平方根。

int=CompareFloat(value1,value2,precision)

浮点数比较。

value=Min(value,value{,value})

value=Max(value,value{,value})

获取最大或最小值。

十一、数组:(略)

十二、执行应用程序与打开文档:

Run(application[,parameter])

可执行文件,快捷方式*.lnk,文档均可,必要时需指定应用程序的完整路径。

例:Run("\windows\Pword.exe","\My documents\doc.psw")

RunWait(application[,parameter])

同上,区别在于:1.本命令直到执行程序执行结束后,才继续下一条命令。2.不能使用快捷方式*.lnk文件。

RunAt(Unix timestamp,application[,parameter])

RunAt(year,month,day,hour,minute,applikation[,parameter])

于指定时间运行程序。PC上无效,部分WM5系统的PPC无效。

RunOnPowerOn(application[,parameter])

RemoveNotifications(application,[parameter])

十三、应用程序窗口:

Show(window):

据标题显示并激活一个窗口。

注意标题不要使用特殊点及大写。

Minimize(window)

据标题隐藏并最小化一个窗口。

Close(window)

据标题关闭并结束一个窗口。部分特殊程序不支持。

window=ActiveWindow()

获取一个活动窗口的标题。

bool=WndActive(window)

检查一个窗口是否被激活。返回的是一个布尔值。

bool=WndExists(window)

检查一个窗口是否存在。

WaitFor(window,seconds)

据时等到窗口存在。

WaiForActive(window,seconds)

据时等到窗口激活。

string=WindowText(x,y)

获取窗口标题/内容元素。

GetWindowPos(window,left,top,right,bottom)

int=WndLeft(window)

int=WndRight(window)

int=WndTop(window)

int=WndBottom(window)

获取窗口坐标,左,右,上,下位置。

十四、键操作:键盘、鼠标(触笔)

SendCommand([window,]command id)

SendOK[(window)]

SendCancel[(window)]

SendYes[(window)]

SendNo[(window)]

发送特殊命令。省略窗口标题指定,则对当前激活窗口进行操作。

SendCommand([window,]command id)

PostMessage([window,]message id,wparam,lparam)

SendMessage([window,]message id,wparam,lparam)

int=SendMessage([window,]messageid,wparam,lparam)

发送高级命令消息。

SendKeys([window,]string)

模拟打字。

SendSpecial(key name[,state])

模拟按键。键名字符串不区分大小写。省略窗口标题参数,则对当前激活窗口作用。状态参数:省略时相当于短按或松开。设为down和up时,

相当于按下不放。

可模拟键:

alt,ctrl,shift,cr,win,context,tab,esc,space,up,down,left,right,home,end,pageup,pagedown,delete,backspace,insert,snapshot,f1

-f12,leftsoft,rightsoft。

Snapshot [(window)]

抓屏至剪切板。

SendCtrlKey([window,]key)

发送CTRL+指定键至指定窗口。键名不区分大小写。

MouseClick([window,]x,y)

RightMouseClice([window,]x,y)

MiddleMouseClick([window,]x,y)

模拟鼠标单击,坐标位置从左上角开始。

MouseDbClick([window,]x,y)

RightMouseDbClice([window,]x,y)

MiddleMouseDbClick([window,]x,y)

模拟鼠标双击。

MouseDown([window,]x,y)

MouseUp([window,]x,y)

RightMouseDown([window,]x,y)

RightMouseUp([window,]x,y)

MiddleMouseDown([window,]x,y)

MiddleMouseUp([window,]x,y)

模拟鼠标压、放操作。

十五、等待、延时:

Sleep(milliseconds)

暂停指定时间,单位毫秒。

SleepMessage(seconds,message[,title[,OK allowed?[,condition]])

倒计时消息框。

十六、时间:

int=TimeStamp()

int=MakeTimeStamp(year,month,day[,hour[,minute[,second]]])

返回1970-01-01后的系统当前时间。

string=FormatTime(format[,timestamp])

时间的格式输出:

H:Hour(00-23)

h:Hour(01-12)

a:am/pm

A:AM/PM

i:Minute(00-59)

s:Seconds(00-59)

d:Day(01-31)

m:Month(01-12)

Y:Year(4 digits)

y:Year(2 digits)

w:Day of week(0=Sunday to 6=Saturday)

u:Unix timestamp

{MM}:如January

{M}:如Jan

{WW}:如Monday

{W}:如Mon

GetTime(variable,variable,variable,variable,variable,variable)

获取系统当前时间。时分秒日月年。

SetTime(hour,minute,second[,day,month,year])

SetDate(day,month,year)

设置系统时间、日期。

十七、文件、目录的操作:

Copy(source file,target file[,overwrite?])

单文件复制。overwrite取值为true或false,决定当存在目标文件时,是否覆盖。

XCopy(source files,target directory[,overwrite?[,subdirs?]])

多文件、文件夹复制。源文件可使用*和?通配符。

overwrite取值为true或false,决定当存在目标文件时,是否覆盖。subdirs决定是否包括子文件夹。

Rename(source file,target file[,overwrite?])

重命名或移动文件。overwrite取值为true或false,决定当存在目标文件时,是否覆盖。

Move(source files,target directory[,overwrite?[,subdirs?]])

多文件或文件夹的移动。源文件可使用*和?通配符。

overwrite取值为true或false,决定当存在目标文件时,是否覆盖。subdirs决定是否包括子文件夹。

Delete(files)

删除文件。支持通配符和路径。

DelTree(files)

删除文件夹。支持通配符和路径。

CreateShortcut(shortcut file,target file[,overwrite?])

创建快捷方式。overwrite取值为true或false,决定当存在目标文件时,是否覆盖。

例:CreateShortcut("\windows\start menu\test.lnk","\storage\test.exe",true)

MkDir(directory)

创建文件夹。不能一次创建多层文件夹。

RmDir(directory)

删除一个空文件夹。

ChDir(directory)

切换当前文件夹。相当于电脑DOS里的CD命令。仅适用于PC。

x=SystemPath(type)

获取系统路径。type必须为字符串,如: "StartMenu"

type的几个常用参数:

ProgramsMenu:开始菜单里的Programs。

StartMenu:开始菜单。smartphones不适用。

ScriptExe:主程序MortScript所在路径。smartphones不适用。

ScriptPath:当前脚本所在路径。

ScriptName:当前脚本名称。

ScriptExt:当前脚本的扩展名。

十八、文本文件的读、写:

string=ReadFile(file name[,length[,codepage]])

string=ReadLine(file name[,codepage])

读取一个文本文件内容。最大长度为1MB

读取一个文本文件的一行。再次运行则读取下一行。

codepage设置字符集。默认使用当前系统字符集。

支持INI文件。

WriteFile(file name,contents[,append?[,codepage]])

根据内容创建一个文本文件。若文件已存在,则被覆盖。

string=IniRead(file name,section,entry[,codepage])

读取一个INI文件,指定章节条目。section为章节用中括号定义,entry为章节下行条目。

IniWrite(file name,section,entry,value[,codepage])

把指定内容写入一个INI文件。section为中括号定义的章节,entry为中括号下定义的条目,valu为条目的值。

十九、串口使用:

SetComInfo(port,timeout[,baud rate[,parity[,bits[,stop bits[,control]]]]])

定义端口:setcominft(端口,超时(单位毫秒),波特率,奇偶校验,位数,停止位,控制)。

端口:com1-com9(大写字母和冒号),波特率:4800,9600,14400,19200,38400,57600,76800,115200。奇偶校验:

none,even,odd,mark,space。

倍数:4-8。停止位:1,1.5,2。控制:none,RTS/CTS,XON/XOFF。

二十、文件系统信息:

bool=FileExists(file name)

bool=DirExists(directory name)

返回一个布尔值,判断某文件、文件夹是否存在。

int=FreeDiskSpace(directory[,unit])

返回某文件夹所在磁盘的剩余空间大小。默认单位为bytes,指定unit参数可为:BYTES,KB,MB,GB。最大值:2147483147。

int=TotalDiskSpace(directory[,unit])

返回某文件夹所在磁盘空间大小。默认单位为bytes,指定unit参数可为:BYTES,KB,MB,GB。最大值:2147483147。

int=FileSize(file name[,unit])

返回某文件大小。默认单位为bytes,指定unit参数可为:BYTES,KB,MB,GB。最大值:2147483147。

int=FileCreateTime(file name)

返回某文件创建时间。

int=FileModifyTime(file name)

返回某文件修改时间。

bool=FileAttribute(file name,attribute)

返回某文件属性。attribute参数可为:directory,hidden,readonly,system,archive。(即:目录,隐藏,只读,系统,存档)

SetFileAttribute(file name,attribute,set?)

设置文件属性。set参数取true或false。为真时是确认设置该属性,为假时为去除该属性。

attribute参数可为:directory,hidden,readonly,system,archive。(即:目录,隐藏,只读,系统,存档)

SetFileAttribs(file name,read only?[,hidden?[,archive?]])

同时设置多重属性。

string=FileVersion(file name)

返回文件版本。(EXE类的程序较适用,得到程序版本。X.X.X.X格式)

GetVersion(file name,variable,variable,variable,variable):

同上,仅把x.x.x.x分开为四个变量。

array=DirContents(files,type)

返回一个文件、文件夹数组???

二十一、ZIP压缩包:

ZipFile(source file,ZIPfile,file name in archive[,rate])

创建单文件ZIP压缩包。(源文件,ZIP文件,在zip里的名称),参数rate为数字1-9,1为不压缩,9为最高,省略则默认为8。

ZipFiles(source files,ZIP file[,subdirectories?[,path in archive[,rate]]])

创建多文件ZIP压缩包。可使用通配符。subdirectories取值为true时,将包括子目录的匹配文件,false则不包含。path in archive为压缩

包里的文件夹名。

UnzipFile(ZIP file,file name in archive,target file)

解压ZIP压缩包里单文件。

UnzipAll(ZIP file,target directory)

解压ZIP压缩包。路径指定的文件夹不存在,则创建。

UnzipPath(ZIP file,path in archive,target directory)

解压ZIP压缩包里的指定文件夹及其子文件夹。

二十二、连接:

Connect

Connect(connection name)

Connect(title,message)

internet联网。少部分PPC不能支持。PC,PNA不适用。

CloseConnecttion

Disconnect

断开internet。PC,PNA不适用。对于Disconnect自WM5的AKU3版本后,不一定能支持。

bool=Connected()

bool=InternetConnected([URL])

返回连接状态。前者适用远程连接、ActiveSync连接等。后者适用一个internet的URL地址。PC,PNA不适用。

SetProxy(proxy)

设置代理。"proxy.foo.bar:8080"。PNA不适用。

Download(URL,target file)

下载文件。PNA不适用。

例:Download(" h t t p : / / w w w .abc.com/123.txt","\Storage\123.txt")

二十三、注册表:

value=RegRead(root,key,value name)

string=RegReadExt(root,key,value name)

读取注册表指定值。

root参数可用的简略写法:

HKCU =HKEY_CURRENT_USER

HKLM =HKEY_LOCAL_MACHINE

HKCR =KHEY_CLASSES_ROOT

HKUS =HKEY_USERS

如果value name为空字符串,可用
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   或@表示。

对于RegRead命令,参数的数据类型是自动转换的,如:DWords返回整型数;字符串返回字符型;二进制返回包含字符串的数据(如:010ACF)

;MultiString返回字符元素。

对于RegReadExt命令,跟RegRead相同,但是,返回的则采用软件的REG格式的注册表方式。如:用dword:00000000返回整型(十六进制),字

符串包含引号。hex:00,00为二进制;hex(7):00,00为multiple strings;hex(2):00,00为expandable strings。

RegWriteSting(root,key,value name,value)

RegWriteDWord(root,key,value name,value)

RegWriteBinary(root,key,value name,value)

RegWriteMultiString(root,key,value name,value)

RegWriteExt(root,key,value name,value)

写入指定值到注册表。

几个例子:

RegWriteDWord("HKCU","Software\Microsoft\Inbox\Settings","SMSDeliveryNotify",1)

RegWriteString("HKCU","Software\Mort\MortPlayer\Skins","Skin","Night")

RegWriteBinary("HKCU","Software\Mort\Dummy","","C000")

RegWriteMultiString("HKCU","Software\Mort\Dummy","Days",Array("Mon","Tue","Web"))

RegWriteExt("HKCU","Software\Mort\Dummy","IntVal","dword:0000002A")

bool=RegValueExists(root,key,value name)

返回一个布尔值,检查注册是否存在某值。

bool=RegKeyExists(root,key)

返回一个布尔值,检查注册是否存在某键。

string=RegType(root,key,value name)

返回某注册表值的数据类型。

RegDelete(root,key,value name)

移除注册表某值。

RegDeleteKey(root,key,values?,sub keys?)

移除注册表某键。

valuse为true时移除包括该键下的所有值。sub keys为true时,仅移除空的子键。如果键没有移除,则显示一个消息框。

二十四、对话框:(可视界面框)

string=Input(message[,title[,numeric?[,multiline?[,default]]]])

文本输入框。

numeric为真时,仅能输入数字,包括-和.。部分设备对此参数无效。

multiline为真时,显示为一个多行文本输入框。

default启用,它将显示在编辑框内。

Message(text[,title])

消息框。

BigMessage(text[,title])

大消息框。根据内容多少出现滚动条。

SleepMessage(seconds,message[,title[,ok allowed?[,condition]]])

倒计时条件消息框。

SetMessageFont(font size,font name)

设置消息框字号和字体。以上四种对话框均适用。font size为字号大小,单位为磅。font name为字体名,如:Tahoma或Arial。

int=Question(question[,title[,type]])

疑问对话框。参数type可为:YesNO;YesNoCancel;OkCancel;RetryCancel。并且该参数为字符型,使用引号。yes为1预定义变量为YES,no为0

预定义变量为NO,cancel为2预定义变量为CANCEL。

嵌套使用,如:

If(Question(...,"OkCancel")=CANCEL)

Switch(Question(...))

int=Choice(title,hint,default,timeout,value,value{,value})

int=Choice(title,hint,default,timeout,array)

倒计时选择列表框。(标题,提示文字,默认选择项,倒计时,项目1,项目2...)

SetChoiceEntryFormat(entry size[,font size,font name])

设置选择框选项高度和字号大小。entry size为选择框高度,单位为象素。font size为字号大小,单位为磅。font name为字体名,如:

Tahoma或Arial。

string=SelectDiretory(title,message[,default])

文件夹选择列表框。default为预定义路径。

string=SelectFile(title,save?,[filter[,info[,default]]])

文件选择列表框。save参数为真时,用户可以输入一个新文件名。filter参数文件过滤器,如*.txt,abc.*。info为文档摘要。default为预

定义路径。

二十五、窗口状态:

StatusType(style[,keep open?[,cancel button?]])

设置窗口状态类型。

style可用参数:ST_HIDDEN隐藏;ST_LIST列表消息框;ST_MESSAGE仅显示最近的消息框。

keep open参数:为真时,窗口将保持至脚本结束后,并显示一个OK按钮以关闭窗口。

cancel button参数:为真时,将显示一个cancel按钮在脚本运行期间。但不中断脚本运行。

StatusInfo(title[,info])

设置窗口标题和短信息。

StatusListEntryFormat(entry height[,font size,font name])

定义消息框列表框显示风格。

StatusHistorySize(count)

定义列表基本项目。

StatusMessage(message[style[,keep open?[,cancel?]]])

StatusMessageAppend(text)

追加文字至消息框。

StatusRemoveLastMessage()

StatusClear()

删除消息框或状态。

StatusShow()

显示和激活窗口状态。

WriteStatusHistory(file name[,append?[,code page]])

把现存所有消息框写入一个文件。

二十六、Processes(running applications)

bool=SupportsProcHandling()

返回布尔值检验设备是否支持进程类命令函数。

boot=ProcExists(process name)

返回布尔值检验某进程是否存在。

boot=ScriptProExists(script name)

返回布尔值检验给定的MortScript脚本是否运行。script name不能为mortScript.exe。

string=ActiveProcess([full path?])

返回当前活动窗口的程序名。full path设为真时,返回包含路径。

string=WindowProcess(window title[,full path?])

返回给定窗口标题的程序名。

Kill(process name)

终止应用程序进程。

警告:该命令可能引起数据丢失、冲突、错误的消息框。故建议尽量优先使用Close函数。

KillScript(script name)

终止运行的脚本。该命令将延时3秒执行。对于PC版本,指定全路径时,应该包括驱动器号。

注意不要配合CallScript、RunWait使用。

二十七、音量、震动、屏幕、光标、输入法:

SetVolume(value)

int=Volume()

设置或返回系统音量。value取值范围为:0-255。部分设备仅支持4、16等级。

PlaySound(WAV file)

播放一个WAV格式文件。

Vibrate(milliseconds)

按给定时间震动。PC版本中,则是以发出BEEP音代替。部分PPC设备中,也可能同时触发LED状态。

int=ColorAt(x,y)

获取给定位置的屏幕象素的色彩数。部分设备忽略标题栏,返回今日背景色彩数。

Array=ScreenToChars(x,y,width,height,color[,background color?[,char foreground[,char background]]])

转换屏幕指定范围的色彩数为数组。

int=RGB(red,green,blue)

int=Red(color)

int=Green(color)

int=Blue(color)

转换颜色代码为十进制数。red,green,blue取值范围均为0-255。

Rotate(orientation)

旋屏。

orientation参数:默认0不旋转;90右转;180倒置;270左转。

smartphone不支持。PC,PPC,PNA需WM2003以上版本。

SetBacklight(battery,external)

设置背光亮度。

battery参数:使用电池时背光亮度;external参数:则为使用外部电源。此两个参数取值范围:0-100。

注意:部分设备不支持本命令函数。且相同参数值对于不同设备,亮度不同。部分设置最高值,可能仅为10或60。部分设置可能为:

10=off;0=brightest。还有部分设置可能为:0=brightest;1=darkest;10=next to brightest。

本命令函数对PC,PNA,SP设备无效。

ToggleDisplay(on?)

旋屏。参数取值为:true,false。

本命令函数对PC,PNA,SP设备无效。

int=ScreenWidth()

int=ScreenHeight()

返回屏幕尺寸。单位像素。

bool=Screen(type)

返回布尔值判断屏幕类型。type参数有效值:landscape;portrait;square;vga;qvga;

该命令PC不适用。

RedrawToday

刷新今日。

该命令PC不适用。

ShowWaitCursor

HideWaitCursor

显示或隐藏等待光标。

string=CurrentCursor([Window])

检索当前窗口的鼠标(触笔)状态类型。省略指定窗口,则返回最近使用的窗口的。

返回值:arrow(默认);wait;cross;help;uparrow;other。

ShowInput

HideInput

显示或隐藏输入面板。

PC,SP无效。

SetInput(input type)

设置输入类型。如:Keyboard、Transcriber。

PC,SP无效。

二十八、剪贴板:

SetClipText(text)

复制文本至剪贴板。

string=ClipText()

返回剪贴板的文本内容。

注意:1、剪贴板要存在内容。2、内容为文本。

二十九、内存:

int=FreeMemory([unit])

返回剩余的程序内存大小。

unit有效值:BYTES(省略默认值)、KB、MB、GB。

int=TotalMemory([unit])

返回总程序内存大小。

unit有效值:BYTES(省略默认值)、KB、MB、GB。

三十、电量:

bool=ExternalPowered()

返回使用电源类型。true为外接电源。false为电池。

int=BatteryPercentage()

int=BackupBatteryPercentage():部分设备无效。

返回当前电池、备用电池百分比等级。WM5以上系统支持。

当使用外接电源时,此返回值不正确。PC则总是返回100,包括笔记本。

PowerOff

进入待机模式。

PC无效。

IdleTimeReset

重设系统自动关屏时间。

PC无效。部分设备无效。

注意:如果使用了背景灯时间控制,则可能本命令无效。

Reset

软重启设备。

PC无效。

三十一、系统:

value=SystemVersion([element])

返回系统版本。

如果参数无效或省略,则返回:major,minor,build。/platform

如:5.1.2600 for XP with SP2或5.1.21888等。

string=MortScriptType()

返回当前MortScript的版本类型。

如:PPC、PC、SP、PNA。

string=MortScriptVersion()

GetMortScriptVersion(variable,variable,variable,variable)

获取MortScript版本号。

你可能感兴趣的:(script)