AutoPlay Media Studio Professional v5.0的部分Action解释
[这个贴子最后由lucky0504在 2004/12/18 11:28am 第 8 次编辑]
由于本人水平有限,错误再所难免,还望大家批评指正!
================================================================================
以下是关于Application的部分Actions(未完)
(1).Application.Exit
关闭窗口
例:关闭自动运行界面
Application.Exit();
(3).Application.GetLastError
返回最终错误代码(单独使用无实际效果,与Dialog.Message联合使用)
例:返回最终错误代码付给nError变量
nError = Application.GetLastError();
可以与if判断和Dialog.Message命令连用:
打印这个AutoPlay\Docs\MyFile.pdf文件;并检查Action执行是否有错误,将错误代码返回给error变量,如果错误代码不等于0(也就是有错误)即用一个对话框显示出来.
File.Print("AutoPlay\\Docs\\MyFile.pdf");
error = Application.GetLastError();
if (error ~= 0) then
Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
end
错误代码范围:
(9999) 未知错误代码
(1000-1099) 文件相关错误
(1100-1199) 命令属性相关错误
(1200-1299) 声音相关错误
(1300-1399) 页相关错误
(1400-1499) 状态对话框相关错误
(1500-1599) INI 文件相关错误
(1600-1699) 注册相关错误
(1700-1799) ListBox相关错误
(1800-1899) 系统相关错误
(1900-1999) 文本文件相关错误
(2000-2099) Window相关错误
(2100-2199) 驱动器相关错误
(2200-2299) 文件夹Action相关错误
(2300-2399) Shell Action相关错误
(2400-2499) DLL相关错误
(2500-2599) HTTP相关错误
(2600-2699) 压缩文件相关错误
(2700-2799) 提示框相关错误
(2800-2899) Application相关错误
(2900-2999) 内部功能相关错误
(3000-3099) 字符串相关错误
(7).Application.LoadScript
读取lua脚本文件
例:读取AutoPlay\Scripts\AddedFunctionality.lua脚本
Application.LoadScript("AutoPlay\\Scripts\\AddedFunctionality.lua");
(9).Application.Minimize
最小化界面
例:最小化界面
Application.Minimize();
(10).Application.Restore
还原界面
例:还原界面
Application.Restore();
(11).Application.RunScriptFile
运行lua脚本
例:运行MyScript.lua脚本文件
Application.RunScriptFile(_SourceFolder.."\\MyScript.lua");
================================================================================
以下是所有关于File.的Action:
1、File.Copy
拷贝目标文件到指定目录
例:File.Copy("C:\\MyDir\\*.*", "C:\\DestDir\\", true, true, false, true, nil);
2、File.Delete
删除目标文件
例:File.Delete("C:\\MyDir\\MyFile.ext", false, false, false, nil);
3、File.DeleteOnReboot
在下次启动时删除目标文件
例:File.DeleteOnReboot("C:\\MyDir\\MyFile.ext");
4、File.DoesExist
判断目标文件存在与否,存在获取“真”值,反之获取“假”值。(单独使用无效果,与Dialog.Message等联合使用)
例:are_ya_there = File.DoesExist(_WindowsFolder.."\\system.ini");
5、File.ExploreFolder
文件夹浏览
例:File.ExploreFolder("C:\\Documents and Settings", SW_MAXIMIZED);
6、File.Find
在本地硬盘上查找文件(单独使用无效果,与Dialog.Message等联合使用)
例:found = File.Find( Shell.GetFolder(SHF_MYDOCUMENTS), true, false, "*.pdf");
if (found) then
Dialog.Message("Found one!", "The first PDF file found was:" .. found[1]);
7、File.GetAttributes
获取目标文件系统属性(单独使用无效果,要与其他命令联合使用)
例:attrib = File.GetAttributes( _TempFolder .. "\\MyTempFile.tmp" );
bReadOnly = attrib.ReadOnly;
strCreationDate = attrib.CreationDate;
8、File.GetCRC
对目标文件获取一个CRC值(用于下载后检查文件,单独使用无效果,与File.Run和Dialog.Message联合使用)
例:crc_value = File.GetCRC(_TempFolder.."\\setup.exe");
if crc_value == 824907888 then
File.Run(_TempFolder.."\\setup.exe", "", "", SW_SHOWNORMAL, true);
else
result = Dialog.Message("Error", "The downloaded file is incomplete. Please try downloading again.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
9、File.GetDefaultViewer
获取目标文件类型的打开方式(单独使用无效果,要与其他命令联合使用。本例为获取jpg的默认打开方式)
例:result = File.GetDefaultViewer(".jpg");
10、File.GetShortName
对长文件名文件获取一个DOS 8.3文件名(单独使用无效果,个人认为要与别的命令联合使用)
例:short_version = File.GetShortName ("C:\\Program Files\\AutoPlay Media Studio 5.0\\ams50.exe");
结果:C:\PROGRA~1\AUTOPL~1\ams50.exe
11、File.GetSize
获取目标文件大小(单独使用无效果,要与其他命令联合使用)
例:file_size = File.GetSize(_TempFolder .. "\\setup.exe");
12、File.GetVersionInfo
获取目标文件的版本信息(单独使用无效果,要与其他命令联合使用,将获取的信息付给其他函数)
例:version_info = File.GetVersionInfo( _ProgramFilesFolder .. "\\Doopernator\\Doopernator.exe");
13、File.Install
向系统安装DLL文件(可与Dialog.Message、Application.GetLastError联合使用,下例就是将成功安装付给函数且用Application.GetLastError获取失败错误,然后判断安装成功与否,如果失败,用Dialog.Messag输出错误信息)
例:success = File.Install("AutoPlay\\Docs\\cooltoy.dll", _SystemFolder.."\\cooltoy.dll", FILE_INSTALL_ALWAYS );
error = Application.GetLastError();
if success == false then
Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
14、File.Move
移动目标文件到指定目录(注:_TempFolder为temp文件夹、_ProgramFilesFolder ..为Program Files文件夹、_WindowsFolder..为系统文件夹)
例:File.Move("AutoPlay\\Docs\\*.txt", _TempFolder .. "\\Text Files", false);
15、File.MoveOnReboot
在下次启动时移动文件到指定目录
例:File.MoveOnReboot(_TempFolder .. "\\setup.exe", "C:\\setup.exe");
16、File.Open
打开文档文件(如果指向exe文件,默认会将exe文件拷到AutoPlay\\Docs\\内再执行)[color=#FF0000]如要播放视频文件就要用此命令,File.Run 无法实现。
例:File.Open("AutoPlay\\Docs\\ad4.92.exe", "", SW_SHOWNORMAL);
17、File.OpenEmail
发送邮件(还可以加标题)
例:File.OpenEmail("yu346704@sohu.com");
File.OpenEmail("yu346704@sohu.com?subject=Good luck", SW_SHOWNORMAL);
18、File.OpenURL
用默认浏览器打开网页
例:File.OpenURL("www.baidu.com", SW_MAXIMIZE);
19、File.Print
打印文档
例:File.Print("AutoPlay\\Docs\\1.txt");
20、File.Rename
重命名指定文件文件名(可以用来做批处理文件)
例:File.Rename("C:\\1.txt", "C:\\2.exe");
21、File.Run
[color=#FF0000]运行文件(直接在原目录中执行,用来做启动界面里的软件安装)
例:File.Run("AutoPlay\\Docs\\ezb456cn-s.exe", "", "", SW_SHOWNORMAL, false);
22、File.RunOnReboot
在下次启动时运行目标文件
例:File.RunOnReboot(_TempFolder .. "\\setup.exe", "/W");
23、File.SetAttributes
设置目标文件的系统属性(首先可用File.GetAttributes获取属性,然后修改属性,亦可直接建立一个空属性,用attrib = {};替换第一句。)
[color=#FF0000]一定要注意 = 前用什么函数(本例为attrib)后面的属性前也要一致(attrib.ReadOnly、attrib.Hidden),最后设置属性时也要用相同的函数("C:\\COMMAND.COM", attrib)
例:attrib = File.GetAttributes("C:\\COMMAND.COM");
attrib.ReadOnly = true;
attrib.Hidden = true;
File.SetAttributes("C:\\COMMAND.COM", attrib);
===============================================================================
以下是关于Dialog.部分的Action
1、Dialog.FileBrowse
弹出查找文件对话框
例:result = Dialog.FileBrowse(true, "Locate File", _DesktopFolder, "All Files (*.*)|*.*|", "", "dat", false, false);
2、Dialog.FolderBrowse
弹出浏览文件夹对话框(只能看到文件夹一级,无法看到文件夹中的内容)
例:result = Dialog.FolderBrowse("Please select a folder:", "AutoPlay\\Docs");
3、Dialog.Input
弹出输入对话框
例:result = Dialog.Input("Enter Data", "Your answer:", "", MB_ICONQUESTION);
4、Dialog.MaskedInput
按照指定格式输入数据((###) ###-####为指定格式,2045559923为默认数据)
例:result = Dialog.MaskedInput("Enter Data", "Your phone number:", "(###) ###-####", "2045559923", MB_ICONQUESTION, " ");
5、Dialog.Message
弹出警告信息
例:Dialog.Message("Failure", "The file on your system is not valid.");
6、Dialog.PasswordInput
输入密码对话框(输入内容为*号,与Application.Exit()联合使用可完成密码确认,下例是将valid作为密码并付给real_password,利用Dialog.PasswordInput输入一个密码付给user_password,如果等于real_password则进入界面,否则利用Application.Exit()退出该界面)
[color=#FF0000]特别注意:(以下是一个if的判断语句的标准格式,中间一行的xxxx;是满足判断后执行的命令,由于是命令所以要带“;”号。本例的前两句是付值语句,是将valid付给real_password,将用户输入的内容付给user_password)
if xxxx ~= xxxx then
xxxx;
end
例:real_password = "valid";
user_password = Dialog.PasswordInput("Password", "Please enter the password: ", MB_ICONQUESTION);
if real_password ~= user_password then
Application.Exit();
end
7、Dialog.SplashFlash
显示一个Flash提示框(下例中的10是显示持续的时间)
例:Dialog.SplashFlash("AutoPlay\\Flash\\Intro.swf", 10, false);
8、Dialog.SplashImage
显示一个图片(下例中的10是显示持续的时间)
例:Dialog.SplashImage("AutoPlay\\Images\\d370.jpg", 10, true);
9、Dialog.SplashVideo
显示一个视频(下例中的10是显示持续的时间,对mpg格式支持良好,本人试了试avi<即mpeg4文件>,出现了跳桢现象?)
例:Dialog.SplashVideo("AutoPlay\\Videos\\Magnolia.mpg", 10, true);
10、Dialog.TimedMessage
显示一个等待提示框(类似软件安装时弹出的提示框,下例中的2000为持续时间)
例:Dialog.TimedMessage("Please Wait...", "Working...", 2000, MB_ICONINformATION);
其实Dialog.命令大部分都是与其他命令配合使用时才能发挥最佳效果,例如Dialog.Input、Dialog.SplashVideo、Dialog.TimedMessage等都只能提供一个提示框或其他类似提示,如果不与其他命令配合,输入数据和提示视频、动画以及等待信息等等就都没有什么实际意义了。
================================================================================
以下所有关于Folder.的Action:
Folder.Create
建立文件夹
例:Folder.Create("C:\\Stored");
Folder.Delete
删除文件夹(空)
例:Folder.Delete("C:\\Stored");
Folder.DeleteTree
删除文件夹及其内容
例:Folder.DeleteTree("C:\\Stored", nil);
Folder.DoesExist
检查文件夹是否存在并返回“真/假”值,若存在返回“真”,不存在返回“假”。(单独使用无效果,与Dialog.Message等联合使用)
例:检查ProgramFiles文件夹是否存在,并返回提示.
does_exist = Folder.DoesExist(_ProgramFilesFolder);
if does_exist then
Dialog.Message("Notice", "Yes, the folder does exist on your system.", MB_OK, MB_ICONINFORMATION);
else
Dialog.Message("Notice", "No, the folder does not exist on your system.", MB_OK, MB_ICONINFORMATION);
end
Folder.Find
在本地系统上查找文件夹
例:found = Folder.Find( Shell.GetFolder(SHF_MYDOCUMENTS),"Plant Data", false);
if (found) then
Dialog.Message("Found one!", "The first folder found was:" .. found[1]);
end
Folder.GetCurrent
返回当前目录的值赋给函数
例:current_dir = Folder.GetCurrent( );
Folder.Rename
重命名文件夹
例:Folder.Rename("C:\\Stored", "C:\\OldStored"); [color=#FF4500]注:Stored为旧文件夹名,OldStored为新文件夹名。
Folder.SetCurrent
设置当前目录
例:Folder.SetCurrent("AutoPlay\\Docs");
================================================================================
以下是关于Paragraph的部分Actions(未完)
Paragraph.SetVisible
设置段落是否可见,Ture值为可见,False为不可见。可用于鼠标移入按钮时显示段落文字,移出时段落消失的交互效果。
例:在按钮Action中的On Enter标签中如下设置,为鼠标移入按钮时显示段落文字.
Paragraph.SetVisible("Paragraph1", true);
在按钮Action中的On Leave标签中如下设置,为鼠标移出时段落消失.
Paragraph.SetVisible("Paragraph1", false);
================================================================================
以下是关于Shell部分的相关Actions
1、Shell.CreateShortcut
建立快捷方式
例:在桌面上建立一个指向C:\Program Files\MyApp\app.exe的快捷方式,使用C:\\Program Files\\MyApp\\app.ico的图标.
Shell.CreateShortcut(_DesktopFolder, "My Shortcut", "C:\\Program Files\\MyApp\\app.exe", "", "", "C:\\Program Files\\MyApp\\myicon.ico", 0, SW_MAXIMIZE);
2、Shell.DeleteShortcut
删除快捷方式
例:删除刚才建立的快捷方式
Shell.DeleteShortcut(_DesktopFolder, "My Shortcut");
3、Shell.Execute
执行操作
例:将My Documents目录付给My_Docs变量;然后编辑My Documents中的CompanyInfo.htm网页文件
MyDocs = Shell.GetFolder(SHF_MYDOCUMENTS);
Shell.Execute(MyDocs .. "\\CompanyInfo.htm", "edit", "", "", SW_SHOWNORMAL);
4、Shell.GetFolder
设置目录变量
例:将My Documents目录付给My_Docs变量
My_Docs = Shell.GetFolder(SHF_MYDOCUMENTS);
================================================================================
以下是关于zip部分的Actions
1、Zip.Add
添加文件到压缩文件
例:将AutoPlay\Docs\Prices.txt和Catalog.txt添加到C:\CompanyInformation\Info.zip文件中,将两个文件先付值给FileTable变量,这样可以用一个Zip.Add命令添加这两个文件.
FileTable = {_SourceFolder.."\\AutoPlay\\Docs\\Prices.txt", _SourceFolder.."\\AutoPlay\\Docs\\Catalog.txt"};
Zip.Add("C:\\CompanyInformation\\Info.zip", FileTable, false, "", 5, nil);
2、Zip.Extract
解压缩文件
例:解压AutoPlay\Docs\graphics.zip中的所有文件到C:\Graphics目录中
Zip.Extract("AutoPlay\\Docs\\graphics.zip", {"*.*"}, "C:\\Graphics", true, true, "", 3, nil);
3、Zip.GetContents
返回压缩文件内容信息(单独使用无实际效果,得到返回值)
例:得到AutoPlay\Docs\Info.zip内容列表并付值到zip_contents变量中.
zip_contents = Zip.GetContents("AutoPlay\\Docs\\Info.zip", true);