InstallShield内部库函数全集一(5-02)

InstallShield内部库函数全集一(5-02)

5.Sd对话框函数

5.19  SdLicense
语法:SdLicense (szTitle, szMsg, szQuestion, szLicenseFile);
说明:SdLicense函数显示一个对话框,包含一个在多行编辑区的许可证协议。许可证协议保存在一个由参数szLicenseFile指定的文本文件中。
    用户可以上下滚动来阅读协议,然后必须选择Yes、No或Enable、Back按钮。因为这可能是你将显示的第一个对话框,你可能要禁止Back按钮。如果用户选择了Yes,安装将继续。如果用户选择了No,InstallShield将显示退出安装对话框。
参数:
szTitle
指定对话框标题。为显示缺省标题(“软件许可证协议”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在多行编辑区上方的静态文本区中的消息。为显示缺省指示,传递一个空字符串。
szQuestion
指定显示在多行编辑区下方的静态文本区中的文本。你可能在这儿放置一个问题,用户必须选择Yes 或 No来响应它。为显示缺省指示,给该参数传递一个空字符串(“”)。
szLicenseFile
指定包含许可证协议的文本文件名。该文件必须被加到安装文件窗格中适当语言文件夹中。
返回值:
YES (1):表明用户选择了Yes按钮。
BACK (12):表明用户选择了Back按钮。
注解:
?该函数不能返回NO,因为,如果用户选择了No按钮,将显示退出安装对话框。
?你也可以通过输入全限定名,在引号中,或一个Universal Naming Convention (UNC)路径来指定szLicenseFile。
?在szLicenseFile中的文本在超过1024个字符的一行后必须包含硬回车。该文件的文本必须以1024字节为间隔读入字符串列表。如果从szLicenseFile的文本不包含硬回车,单词会在SdLicense对话框中意外地回绕。

5.20  SdLoadString
语法:SdLoadString (nID);
说明:SdLoadString函数返回与指定的资源ID相联系的字符串值。安装引擎首先在_isuser.dll(如果该文件存在)中查找资源;如果资源没有找到,安装引擎在_isres.all中查找。
参数:
nID
指定一个在_isuser.dll或 _isres.dll中的字符串资源的标识符。一些nID的有效值可以在InstallShield  Professional  文件夹的 Script\Ifx\Include 的子文件夹的 Ifx.h文件中找到。
返回值:
非空字符串值
SdLoadString成功检索到字符串值。
空字符串值(“”)
表明SdLoadString失败。

5.21  SdMakeName
语法:SdMakeName (svSection, szDlg, szUnused, nvDlgName);
说明:SdMakeName函数为一个自定义对话框创建一个节名。该节名在写到一个.iss文件或从中读出时被使用,由InstallShiled Silent使用。
参数:
svSection
指定节名(InstallShield使用变量szDlg和 nvDlgName来给该变量置一个值)。该值由SilentReadData和 SilentWriteData.使用。
szDlg
指定自定义对话框的名称。
szUnused
该参数不使用,给它传递一个空字符串(“”)。
nvDlgName
指定记录SdMakeName被由szDlg命名的对话框调用的次数的计数器。InstallShield自动增加该计数器。为每个自定义对话框使用一个唯一的变量名。(可参阅下面的注解)
返回值:  无。
注解:
?为使节被适当命名,你必须在每个不同的自定义对话框的第四个参数使用一个唯一的变量名。做到这一点的简单方法是在szDlg使用对话框名来命名该变量。例如,当szDlg是“MyDlgOne”,命名在第四个参数的变量为nvMyDlgOne;当szDlg是“MyDlgTwo”,命名该变量为nvMyDlgTwo。

5.22  SdOptionsButtons
语法:SdOptionsButtons (szTitle, szMsg, listButtons, listDescription);
说明:SdOptionsButtons函数显示一个对话框,包含一到四个位图按钮和一个简短的对每个按钮的文本说明。
参数:
szTitle
指定对话框标题。为显示缺省标题(“选择组件”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为显示该对话框缺省指示(“请选择你要安装的组件”),给该参数传递一个空字符串(””)。
listButtons
指定一个包含一到四个元素的字符串列表。每个元素是一个格式化的指定显示在按钮上的位图的字符串。一个按钮将被用来显示列表中的每个字符串元素。字符串列表元素必须有下列格式:
 “@<位图ID>;<位图图标标志>;<透明颜色>”
由@符号开始字符串并后随位图ID。<位图图标标志>域是1(真)或0(假),表明位图被显示时在<透明颜色>域指定的颜色是否要透明显示。<透明颜色>域指定一个RGB值,它是位图的透明颜色。注意分号将ID和图标标志、图标标志和透明颜色分隔。
更多的信息可参阅下面的注解部分。
listDescription
指定一个包含一到四个字符串元素的字符串列表,每个相对应于参数listButtons中的一个字符串。每个字符串是一个和它相应按钮一起显示的文本说明。
返回值:
NEXT (1):表明单击了NEXT按钮。
BACK (12):表明单击了Back按钮。
101:对应于listButtons中的第一个字符串元素的按钮被选定。
102:对应于listButtons中的第二个字符串元素的按钮被选定。
103:对应于listButtons中的第三个字符串元素的按钮被选定。
104:对应于listButtons中的第四个字符串元素的按钮被选定。
注解:
?虽然SdOptionsButtons可以被使用为一个安装类型对话框,但还是推荐使用SdSetupTypeEx对话框来允许最终用户选择一个安装类型,因为它不需要任何用户化。注意如果你调用SdOptionsButtons来得到最终用户的安装类型选择,你必须然后调用ComponentButtons来为你的安装建立选择的安装类型。
?InstallShield提供可以被该函数调用的四个_isres.dll中的缺省位图。这些位图有从12001到12004的ID和在脚本范例中相应的典型、可移植、简易和自定义安装类型。
?如果你使用该对话框作其它用途或你想要使用_isres.dll中提供的类型之外的安装类型,你必须将你自己的自定义按钮加入到_isuser.dll对话框模板中并且然后在你的安装中包含自定义的_isuser.dll。
?为防止用户没有单击一个特定按钮时就退出对话框,在你调用SdOptionsButtons前调用Disable函数来禁止Next按钮。

5.23  SdProductName
语法:SdProductName (szProductName);
说明:SdProductName函数使得你的产品名对所有的%P位置夹都有效。%P位置夹在一些Sd对话框中的静态文本区中找到。另外,一些Sd对话框函数,如SdFinish,允许你在作为函数参数的字符串中包含%P。
参数:
szProductName
指定被安装的产品名。该名称将取代在Sd对话框的适当静态区出现的任何产品名位置夹(%P)。
返回值:
该函数没有返回值。

5.24  SdRegisterUser
语法:SdRegisterUser (szTitle, szMsg, svName, svCompany);
说明:SdRegisterUser函数创建一个对话框,检索用户姓名和公司名称。如果svName和svCompany都包含空字符串,InstallShield将从注册表中得到用户姓名和公司名称。
    仅当两个编辑区都存在数据时Next按钮才被激活。如果InstallShield可以从系统查找缺省姓名和公司名称,Next按钮被自动激活。完成时,SdRegisteruser调用RegDBSetDefaultRoot来将注册表开关键设置给HKEY_CLASSES_ROOT。
参数:
szTitle
指定对话框标题。为显示缺省标题(“用户信息”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。该文本被看作为一个静态控制。为显示该对话框缺省指示,给该参数传递一个空字符串(””)。
svName
返回由用户输入的姓名。注意SdRegisterUser显示该参数的初始值由用户进行编辑。如果svName和svCompany都是空字符串,在目标系统注册表中被找到的用户姓名将被显示来进行编辑。
svCompany
返回由用户输入的公司名称。注意SdRegisterUser显示该参数的初始值由用户进行编辑。如果svName和svCompany都是空字符串,在目标系统注册表中被找到的公司名称将被显示来进行编辑。
返回值:
NEXT (1):表明单击了NEXT按钮。
BACK (12):表明单击了Back按钮。

5.25  SdRegisterUserEx
语法:SdRegisterUserEx (szTitle, szMsg, svName, svCompany, svSerial);
说明:SdRegisterUserEx函数创建一个对话框,检索用户姓名、公司名称和序列号。如果svName和svCompany都包含空字符串,InstallShield将从注册表得到用户姓名和公司名称。
    仅当三个编辑区都存在数据时Next按钮才被激活。你不能让任何区域空白。
完成时,SdRegisteruser调用RegDBSetDefaultRoot来将注册表开关键设置给HKEY_CLASSES_ROOT。
参数:
szTitle
指定对话框标题。为显示缺省标题(“用户信息”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。该文本被看作为一个静态控件。为显示该对话框缺省指示,给该参数传递一个空字符串(””)。
svName
返回由用户输入的姓名。注意SdRegisterUserEx显示该参数的初始值由用户进行编辑。如果svName和svCompany都是空字符串,在目标系统注册表中被找到的用户姓名将被显示来进行编辑。
svCompany
返回由用户输入的公司名称。注意SdRegisterUserEx显示该参数的初始值由用户进行编辑。如果svName和svCompany都是空字符串,在目标系统注册表中被找到的公司名称将被显示来进行编辑。
svSerial
返回用户输入的序列号。你可以使用该信息并把它写入一个文件或者把它显示在一个确认对话框中。
返回值:
NEXT (1):表明单击了NEXT按钮。
BACK (12):表明单击了Back按钮。

5.26  SdSelectFolder
语法:SdSelectFolder (szTitle, szMsg, svDefGroup);
说明:SdSelectFolder函数显示供选择的程序文件夹。SdSelectFolder允许你提供一个缺省选择。用户也可以输入一个新的文件夹名。SdSelectFolder将仅返回被选择的或输入的文件夹名。它不能创建文件夹。
参数:
szTitle
指定对话框标题。为显示缺省标题(“选择程序文件夹”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。该文本被看作为一个静态控件。为显示该对话框缺省指示,给该参数传递一个空字符串(””)。
svDefGroup
返回被选文件夹的名称。
返回值:
NEXT (1):表明单击了NEXT按钮。
BACK (12):表明单击了Back按钮。
注解:
?运行在Windows NT下的一个安装中,如果在调用SdSelectFolder前调用ProgDefGroup,由SdSelectFolder显示的程序文件夹(公用或专用)将依赖于传递给ProgDefGroupType的参数。

5.27  SdSetupType
语法:SdSetupType (szTitle, szMsg, svDir, nReserved);
说明:SdSetupType函数显示一个对话框允许最终用户选择三种标准安装类型之一:典型、简易或自定义。这些安装选项显示时有标准描述文本。如果你想加入其它安装类型或改变显示的安装类型名或描述,调用SdSetupTypeEx来替代。
    对话框也显示一个缺省的目标路径。一个Browse按钮装入一个对话框,允许最终用户通过输入一个新文件夹名或从一个列表中选择存在的文件夹来修改目标路径。如果最终用户输入一个不存在的文件夹名,将显示一个消息框来询问是否要创建该文件夹。如果最终用户单击Yes,该函数自动创建指定文件夹。指定文件夹的全限定路径在svDir返回。
如果最终用户在使用组件对话框来选定和撤消选定与已选安装类型相联系的组件后,返回到安装类型对话框,那么那些选择将丢失。这种情况发生是因为SdSetupType函数每次被调用时自动根据选中的安装类型复位缺省组件选项。
参数:
szTitle
指定对话框标题。为显示缺省标题(“安装类型”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。该文本被看作为一个静态控件。为显示该对话框缺省指示,给该参数传递一个空字符串(””)。
svDir
指定一个缺省文件夹名。返回最终用户所选的文件夹名。
nReserved
保留为将来使用。给该参数传递0。
返回值:
TYPICAL (301):表明用户选择典型安装。
COMPACT (302):表明用户选择简易安装。
CUSTOM (303):表明用户选择自定义安装。
BACK (12):表明单击Back按钮。

5.28  SdSetupTypeEx
语法:SdSetupTypeEx (szTitle, szMsg, szReserved, svSetupType, nReserved);
说明:SdSetupTypeEx函数显示一个对话框,当你指定除典型、简易和自定义之外的安装类型时,允许最终用户选择安装类型。
参数:
szTitle
指定对话框标题。为显示缺省标题(“安装类型”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为显示该对话框缺省指示,给该参数传递一个空字符串(””)。
szReserved
给该参数传递一个空字符串(“”)。不允许其它值。
svSetupType
指定一个缺省安装类型和返回由最终用户选择的安装类型。为使在列表中的第一次安装为缺省选择,给该参数传递一个空字符串(“”)。在该参数返回的字符串将和在IDE中指定的安装类型名相匹配。
nReserved
给该参数传递0。不允许其它值。
返回值:
0:表明SdSetupTypeEx成功。
BACK (12):表明单击了Back按钮。

5.29  SdShowAnyDialog
语法:SdShowAnyDialog (szTitle, szID, nID, nReserved);
说明:SdShowAnyDialog函数显示一个自定义或改进型对话框。该函数仅推荐给高级用户使用。
参数:
szTitle
指定对话框标题。为显示缺省标题(“欢迎”) ,给该参数传递一个空字符串(””)。
szID
指定标识对话框的标识符字符串。如果该参数包含一个空字符串(“”),SdShowAnyDialog使用nID的值。
nID
指定标识对话框的数值型值。如果szID包含一个空字符串(“”),该参数被忽略。
nReserved
给该参数传递0。不允许其它值。
返回值:
NEXT (1):表明单击了Next按钮。
BACK (12):表明单击了Back按钮。
注解:
?为了使用SdShowAnyDialog函数,你必须知道你希望显示的_isres.dll中的改进型对话框或_isuser.dll中的自定义对话框的ID。
?如果对话框只有静态控件,你不需要修改SdShowAnyDialog脚本文件。但如果你的对话框有其它控件,为了处理用户的反馈,你必须修改Sdsadlg.rul文件,位于你的InstallShield程序文件夹中的Script/Srt文件夹,

5.30  SdShowDlgEdit1
语法:SdShowDlgEdit1 (szTitle, szMsg, szField1, svEdit1);
说明:SdShowDlgEdit1函数创建一个通用对话框,显示一个消息和一个单行编辑区。你可以为该对话框指定一个标题。
参数:
szTitle
指定对话框标题。为显示缺省标题(“编辑数据”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为在该消息包含由先前调用SdProductName设置的产品名称,在该消息的任何地方插入位置夹%P。当消息被显示时,%P由产品名称代替。
szField1
指定显示在编辑区左边的域名。缺省的域名是“域1:”;为显示缺省名称,给该参数传递一个空字符串(“”)。可以被显示的字符数最大约为10。实际的最大值依赖于域名中每个字符的组合宽度。如果域名超出有效空间,则当对话框被显示时它将从右被截尾。
svEdit1
指定编辑区的初始值;当对话框被关闭时,返回编辑区的值。
返回值:
NEXT (1):表明单击了Next按钮。
BACK (12):表明单击了Back按钮。

5.31  SdShowDlgEdit2
语法:SdShowDlgEdit2 (szTitle, szMsg, szField1, szField2, svEdit1, svEdit2);
说明:SdShowDlgEdit2函数创建一个通用对话框,显示一个消息和两个单行编辑区。你可以为该对话框指定一个标题。
参数:
szTitle
指定对话框标题。为显示缺省标题(“编辑数据”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为在该消息包含由先前调用SdProductName设置的产品名称,在该消息的任何地方插入位置夹%P。当消息被显示时,%P由产品名称代替。
szField1
指定显示在第一个编辑区左边的域名。缺省的域名是“域1:”;为显示缺省名称,给该参数传递一个空字符串(“”)。可以被显示的字符数最大约为10。实际的最大值依赖于域名中每个字符的组合宽度。如果域名超出有效空间,则当对话框被显示时它将从右被截尾。
szField2
为第二个编辑区指定域名。缺省为“域2:”。
svEdit1
指定第一个编辑区的初始值;当对话框被关闭时,返回第一个编辑区的值。
svEdit2
指定第二个编辑区的初始值;当对话框被关闭时,返回第二个编辑区的值。
返回值:
NEXT (1):表明单击了Next按钮。
BACK (12):表明单击了Back按钮。

5.32  SdShowDlgEdit3
语法:SdShowDlgEdit3 (szTitle, szMsg, szField1, szField2, szField3, svEdit1, svEdit2, svEdit3);
说明:SdShowDlgEdit2函数创建一个通用对话框,显示一个消息和三个单行编辑区。你可以为该对话框指定一个标题。
参数:
szTitle
指定对话框标题。为显示缺省标题(“编辑数据”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为在该消息包含由先前调用SdProductName设置的产品名称,在该消息的任何地方插入位置夹%P。当消息被显示时,%P由产品名称代替。
szField1
指定显示在第一个编辑区左边的域名。缺省的域名是“域1:”;为显示缺省名称,给该参数传递一个空字符串(“”)。可以被显示的字符数最大约为10。实际的最大值依赖于域名中每个字符的组合宽度。如果域名超出有效空间,则当对话框被显示时它将从右被截尾。
szField2
为第二个编辑区指定域名。缺省为“域2:”。
szField3
为第二个编辑区指定域名。缺省为“域2:”。
svEdit1
指定第一个编辑区的初始值;当对话框被关闭时,返回第一个编辑区的值。
svEdit2
指定第二个编辑区的初始值;当对话框被关闭时,返回第二个编辑区的值。
svEdit3
指定第三个编辑区的初始值;当对话框被关闭时,返回第三个编辑区的值。
返回值:
NEXT (1):表明单击了Next按钮。
BACK (12):表明单击了Back按钮。

5.33  SdShowFileMods
语法:SdShowFileMods (szTitle, szMsg, szTargetFile, szAltFile, listChanges, nvSelection);
说明:SdShowFileMods函数创建一个对话框,显示你想要对一个文件进行的修改。下面这些选择是有效的:
修改目标文件。
修改替代文件,它是目标文件的拷贝,但非联合修改。
不作任何修改。SdShowFileMods不对文件作修改。你必须使用适当的文件函数把那些修改写入你的脚本。
参数:
szTitle
指定对话框标题。为显示缺省标题(“修改文件”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。
szTargetFile
指定要修改的文件名。它将和第一个单选按钮一起显示。
szAltFile
如果最终用户决定要作修改,指定该文件的替代名。这将和第二个单选按钮一起显示。为使用sztargetFile指定的扩展名为.bak的文件名,给该参数传递一个空字符串(””)。
listChanges
指定字符串列表名,它包含对文件所作修改的列表。该列表位于一个多行编辑区,允许最终用户选择要实现的修改。
nvSelection
返回最终用户选择的按钮的ID:
101: “让安装修改<szTargetFile>文件。”
102: “保存对<szAltFile>所要求的修改。”
103: “不作任何修改。”
返回值:
NEXT (1):表明单击了Next按钮。
BACK (12):表明单击了Back按钮。

5.34  SdShowInfoList
语法:SdShowInfoList (szTitle, szMsg, listID);
说明:SdShowInfoList函数创建一个对话框,显示一个可滚动的消息列表。
参数:
szTitle
指定对话框标题。为显示缺省标题(“信息”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在信息框上方一行的消息。如果消息长于一行,将被从右截尾。如果消息包含一个换行符(\n),换行符后的文本不被显示。为显示缺省消息(”Text”),给该参数传递一个空字符串(“”)。
listID
指定显示在对话框的消息列表。所有显示在对话框的消息为只读。
返回值:
NEXT (1):表明单击了Next按钮。
BACK (12):表明单击了Back按钮。
注解:
?多行编辑区必须为只读。
?SdShowInfoList可以显示大约多达57200个字符的列表。

5.35  SdShowMsg
语法:SdShowMsg (szMsg, bShow);
说明:SdShowMsg函数打开或关闭一个小的非模态窗口,显示由szMsg指定的消息。当bShow为TRUE,窗口被打开,消息显示在窗口中,并且继续脚本中下一个语句的处理。注意SdShowMsg窗口被置于安装窗口的中央。当bShow为FALSE时,szMsg被忽略并且关闭SdShowMsg窗口。
参数:
szMsg
指定显示在窗口的消息。为显示缺省消息(“安装正查找已安装的组件”),给该参数传递一个空字符串(“”)。当bShow为FALSE时该参数被忽略。
bShow
指定是否要打开或关闭窗口。在该参数位置传递下列预定义常量之一:
TRUE:如果窗口没有打开则打开它。
FALSE:如果窗口打开了则关闭它。
返回值:
返回值总为0。
注解:
?SdShowMsg函数提供了一个简单方法使得脚本进程继续的同时,可以将一个显示丰富资料的消息保留在屏幕上。
?当SdShowMsg窗口是打开的,随后的对SdShowMsg(第二个参数为TRUE)的调用被忽略。为改变消息,你必须首先以第二个参数为FALSE调用SdShowMsg来关闭窗口,然后以第二个参数为TRUE,szMsg为新的消息再次调用SdShowMsg。
?SdShowMsg窗口水平调整大小来在一行上显示szMsg的值。如果消息的长度超过窗口的最大宽度,消息被截尾以适应窗口。
?SdShowMsg被设计为单行显示消息。不要在szMag中嵌入换行符(\n)。

5.36 SdStartCopy
语法:SdStartCopy (szTitle, szMsg, listData);
说明:SdStartCopy函数创建一个多行编辑区,显示安装过程中所作的设置和选择。为按需改变设置,用户可以单击对话框的Back按钮来返回到以前的对话框。在检索用户的选择后,开始文件传输处理之前调用SdStartCopy。
    使用一个字符串列表来收集安装过程中得到的信息。然后你可以将该字符串列表传递给SdStartCopy的参数listData。SdStartCopy将显示该列表并允许用户在继续文件传输处理之前确认这些信息是正确的。
参数:
szTitle
指定对话框标题。为显示缺省标题(“开始拷贝文件”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在多行编辑区上方的静态文本区的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。
listData
指定从最终用户检索得的信息字符串列表。SdStartCopy会自动将每个元素放置到多行编辑区。如果列表为空,该多行编辑区将被隐藏并且只有静态文本区为可见。
返回值:
NEXT (1):表明用户选定了Next按钮。
BACK (12):表明用户选定了Back按钮。

5.37  SdWelcome
语法:SdWelcome (szTitle, szMsg);
说明:SdWelcome函数显示一个对话框,欢迎最终用户。
参数:
szTitle
指定显示在对话框标题部分的文本。为显示缺省标题(“欢迎”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在欢迎对话框中的消息。为在该消息中包含先前调用SdProductName而设置的产品名称,在该消息的任意位置插入一个位置夹%P。当该消息被显示时,%P被产品名称代替。为显示缺省欢迎消息(“欢迎进入%P安装程序。该程序将在你的计算机上安装%P”),给该参数传递一个空字符串(“”)。
返回值:
NEXT (1):表明单击了Next按钮。

5.38  SdWelcomeMaint
语法:SdWelcomeMaint (szTitle, szMsg, nType);
说明:SdWelcomeMaint函数显示一个对话框 ,在一个维护型安装(也就是,一个已经被运行的安装的重运行)的开始时使用。该对话框包含修改、修复、删除选项按钮。
参数:
szTitle
指定对话框标题。为显示缺省标题(“欢迎”) ,给该参数传递一个空字符串(””)。
szMsg
指定显示在对话框的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。
nType
指定哪个选项按钮为缺省选择。你必须在该参数位置传递下列预定义常量之一,使在对话框中正确显示:
MODIFY:修改按钮为缺省选择。
REPAIR:修复按钮为缺省选择。
REMOVEALL:删除按钮为缺省选择。
返回值:
MODIFY (301):表明当单击Next按钮后修改按钮被选定。
REPAIR (302):表明当单击Next按钮后修复按钮被选定。
REMOVEALL (303):表明当单击Next按钮后删除按钮被选定。

Random Posts

Leave a Reply