任何Windows API MessageBox类型也可在该参数指定。多种风格可以被逻辑或来产生所需的MessageBox类型(请看下面的注解)。 返回值:
除非你使用标准Microsoft Windows 消息框风格,返回值没有意义。如果你使用这些风格,返回值和MessageBox API函数的返回值一样。 注解:
·该函数使用Microsoft Windows API MessageBox。操作环境,而不是InstallShield,确定消息框的大小和位置(例如,操作系统运行所在的语言)。你可以改变该按钮的文本。考虑使用Windows MessageBox类型的更多信息,请在适当的Windows SDK中咨询MessageBox Windows API 函数的描述。 ·当使用Windows 消息框常量时注意下列情况:
·Windows MessageBox 类型常量在Windows.h文件中声明,它不能包括在InstallShield 脚本中。当使用这些常量,用户必须在安装脚本的声明区定义它们(使用#define)。赋给这些常量的值通常可在一个适当的Windows SDK或开发工具提供的包含文件中找到。对于Microsoft Visual C++,大多数常量可在 Winuser.h文件中找到,它位于DevStudio\\Vc\\include 文件夹。
·Windows 和InstallShield消息框常量不能在一个安装中一起使用。如果一个InstallShield消息框常量和一个 Windows 消息框常量用一个或运算符组合,Windows 消息框常量将被忽略。
·一些Windows 消息框风格在一些Windows 平台不受支持。为确定一个特定的风格是否受安装确定的操作系统支持,咨询适当的Windows SDK。
·当MessageBox函数使用一个Windows 消息框风格时,消息框的标题是“安装“。如果用户需要显示不同的标题,可使用SprintfBox函数来替代。 4.9 RebootDialog
语法:RebootDialog (szTitle, szMsg, nDefChoice);
说明:RebootDialog函数显示一个对话框,允许最终用户重启计算机。被选的选项在安装的最后被执行。 参数: szTitle
指定对话框标题。为显示缺省标题(“重新启动”),给该参数传递一个空字符串(“”)。 szMsg
指定对话框显示的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。 nDefChoice
指定缺省选定的单选钮内容。在该参数位置传递下列预定义常量之一:
SYS_BOOTMACHINE:重启计算机选项(\将成为缺省单选按钮选定内容。
0:不重启计算机选项(\将成为缺省单选按钮内容。 返回值:
WILL_REBOOT:表明用户选择标签为\的单选钮。 0:表明用户选择标签为\的单选钮。 注解:
·当你带SHAREDFILE或LOCKEDFILE选项来调用一个函数并且锁定遇到的.dll或.exe文件,锁定的文件的更新版本被拷贝至目标系统并且系统变量BATCH_INSTALL设置为TRUE。RebootDialog当系统重启时自动提交被锁定的文件以更新,除非用户选择\选项。
·RebootDialog函数的一个完美候选是SdFinishReboot,它比RebootDialog对话框一个更好的外观和感觉。 ·因为当InstallShield的其它实例运行时InstallShield会尽力不重启系统,所以用户必须确保所有其它InstallShield的实例在调用RebootDialog前停止执行。另外,你给用户的消息需要求他们确保在重启系统前所有其它应用程序停止执行。
4.10 SelectDir
语法:SelectDir (szTitle, szMsg, svDir, bCreate);
说明:SelectDir函数显示一个对话框,允许最终用户指定应用程序将被安装到的文件夹。最终用户可以输入一个全限定文件夹名或从列表中选择一个存在的文件夹。如果最终用户输入一个无效文件夹名或一个未限定文件夹名,将显示一个消息框提示最终用户输入一个有效名。选择文件夹的全限定名返回给svDir。 如果指定的文件夹不存在并且参数bCreate是TRUE,显示一个消息框询问是否要创建文件夹。如果最终用户单击Yes, SelectDir自动创建指定的文件夹。如果参数bCreate设置为FALSE并且一个不存在的文件夹被选中,最终用户不会被告之,并且SelectDir不创建它。这种情况下,该由用户处理包含在svDir的选项。
当最终用户单击呈现在由AskDestPath, SdAskDestPath 和其它获得一个文件夹名的InstallShield函数显示的对话框中的Browse按钮时SelectDir 被自动调用。 参数: szTitle
指定对话框标题。为显示缺省标题(“选择文件夹”),给该参数传递一个空字符串(””)。 szMsg
指定用户要在该对话框显示的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。 svDir
指定将作为缺省选项显示的文件夹名。返回由最终用户选定的文件夹的全限定名。 bCreate
指定你是否要求InstallShield在指定文件夹不存在时创建它。在该参数位置传递下列预定义常量之一:
TRUE:表明如果文件夹不存在则需被创建。 FALSE:表明如果文件夹不存在不需被创建。 返回值:
IDOK (1):表明OK按钮被按下。
IDCANCEL (2):表明CANCEL按钮被按下。
< 0:表明该函数未能显示对话框并/或不能创建文件夹。 4.11 SelectDirEx
语法:SelectDirEx (szTitle, szMsg, szEditBoxStaticText, szTreeControlStaticText, nFlags, svDir);
说明:SelectDirEx显示一个对话框,允许最终用户从一个显示存在文件夹的树形控件中选择一个存在的文件夹。也显示一个编辑框,允许最终用户指定一个新文件夹。
该函数调用Windows API函数SHBrowserForFolder来显示对话框。为得到SHBrowseForFolder更多信息,可查看Win32 SDK或访问http://msdn.microsoft.com/library/ sdkdoc/ shellcc/shell/Function s/SHBrowseForFolder.htm. 参数: szTitle
指定对话框标题。为显示缺省标题(“选择文件夹”),给该参数传递一个空字符串(””)。 szMsg
指定用户要在该对话框显示的消息。为显示该对话框的缺省指示(“请选择安装文件夹”),给该参数传递一个空字符串(“”)。 szEditBoxStaticText
当nFlags 为BIF_EDITBOX时指定伴随编辑框的静态文本。如果nFlag不指定BIF_EDITBOX,该参数被忽略。
szTreeControlStaticText
当nFlags 指定BIF_STATUSTEXT时,指定伴随对话框的树形控件的静态文本。如果nFlags不指定BIF_STATUSTEXT,该参数被忽略。 nFlags
指定函数显示的对话框的外观和功能。传递任何下列常量:
BIF_BROWSEFORCOMPUTER:允许最终用户选择网络上的一特定计算机。当传递该常量时,对话框有如下行为(性能):
? ? ? 为:
? ? ? ?
“网络邻居”文件夹在树形控件中被预选。
仅那些包括至少一台打印机的计算机在网络邻居文件夹中显示。 仅当选中树形控件中的一个有效打印机时,OK按钮被激活。 即使BIF_EDITBOX指定时也不显示编辑框。 “网络邻居”文件夹在树形控件中被预选。
仅当选中树形控件中的一个有效计算机名时,OK按钮被激活。 即使BIF_EDITBOX指定时也不显示编辑框。
BIF_BROWSEFORPRINTER:允许最终用户选择一特定打印机。当传递该常量时,对话框有如下行
BIF_DONTGOBELOWDOMAIN:域层下的网络文件夹不在树形控件中显示。
BIF_RETURNFSANCESTORS:如果一个文件系统祖先以外的任何对象被选中时OK按钮被禁用。 BIF_RETURNONLYFSDIRS:非文件系统某部分的一个文件夹被选中OK按钮被禁用。. 下列常量指定对话框的其它特征:
BIF_EDITBOX:显示一个编辑框,允许用户输入一文件夹名,在编辑框上部显示szEditBoxStaticText中的文本(除非指定BIF_BROWSEFORCOMPUTER 或BIF_BROWSEFORPRINTER)。当最终用户单击OK,SelectDirEx检查是否输入了一个有效文件夹名。如果不是(例如,如果输入了包含无效字符的名称),显示一个错误消息并且对话框不被消除。和SHBrowseForFolder不同,SelectDirEx对所有InstallShield支持的操作系统都支持该常量。
BIF_STATUSTEXT:在树形控件上部作为态文本显示szTreeControlStaticText。注意SelectDirEx不支持BIF_VALIDATE 和 BIF_USENEWUI常量,而SHBrowseForFolder支持它们。 svDir
指定作为缺省选择出现的文件夹名。返回由最终用户选择的文件夹的全限定名。如果该参数指定了一个存在于系统的有效文件夹名,该文件夹在树形控件中被预选。 返回值:
IDOK (1):表明OK按钮被按下。
IDCANCEL (2):表明CANCEL按钮被按下。 < 0:表明函数未能显示对话框。 4.12 SelectFolder
语法:SelectFolder (szTitle, szDefFolder, svResultFolder);
说明:SelectFolder函数显示一个对话框,允许最终用户在一个编辑区输入一个程序文件夹名或从一个列表中选择一个程序文件夹。该函数自动显示系统中所有的程序文件夹。SvDefFolder传递的一个缺省的文件夹名在编辑区显示。在svResultFolder返回被选的文件夹名。如果指定文件夹不存在,它不会被创建。 参数: szTitle
指定对话框标题。为显示缺省标题(“选择程序文件夹”),给该参数传递一个空字符串(””)。 szDefFolder
指定作为缺省文件夹显示的文件夹名。 svResultFolder
返回由最终用户选中或指定的文件夹名。如果文件夹不存在,你必须调用CreateProgramFolder来创建它;SelectFolder不会创建该文件夹。 返回值:
NEXT (1):表明最终用户选择Next按钮。 BACK (12):表明最终用户选择Back按钮。 < 0:表明函数未能成功执行。 4.13 SetupType
语法:SetupType (szTitle, szMsg, szReserved, nType, nReserved);
说明:SetupType函数显示一个对话框允许最终用户选择三种标准安装类型之一。典型、简易或自定义。这些安装选项显示时有标准描述文本。如果你想加入其它安装类型或改变显示的安装类型名或描述,可调用SdSetupTypeEx。
如果最终用户在使用组件对话框来选定和撤消选定与已选安装类型相联系的组件后,返回到安装类型对话框,那么那些选择将丢失。这种情况发生是因为SetupType函数每次被调用时自动根据选中的安装类型复位缺省组件选项。 参数: szTitle
指定对话框标题。为显示缺省标题(“安装类型”) ,给该参数传递一个空字符串(””)。 szMsg
指定你要在对话框顶部显示的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(””)。 szReserved
给该参数传递一个空字符串(“”),不允许其它值。 nType
当对话框打开时指定缺省安装类型。在该参数位置传递下列预定义常量之一:
TYPICAL:定义缺省安装类型为典型。 COMPACT:定义缺省安装类型为简易。 CUSTOM:定义缺省安装类型为自定义。 nReserved
给该参数传递0,不允许其它值。 返回值:
TYPICAL (301):表明选择了典型安装类型。 COMPACT (302):表明选择了简易安装类型。 CUSTOM (303):表明选择了自定义安装类型。 BACK (12):表明选定了Back按钮。 4.14 SprintfBox
语法:SprintfBox (nType, szTitle, szFormat [,arg] [,...]);
说明:SprintfBox函数呈现一个消息框,它包含三个图标之一,一个标题,和一个格式化的消息。该消息可以包含根据你输入的命令格式化的变量。
SprintfBox和MessageBox相似,但SprintfBox对显示的内容允许更多的弹性控制。 参数: nType
指定显示在消息框中的图标类型。在该参数位置传递下列预定义的常量之一(显示Windows 95图标):
INFORMATION信息 WARNING警告
SEVERE严重警告 szTitle
指定消息框标题。为显示缺省标题(“错误”) ,给该参数传递一个空字符串(””)。 szFormat
指定一个包含一个格式说明符的字符串,格式说明符是针对包含在消息中的每个参数的。 arg
指定包含在消息中的参数,至多可达10个。对消息中每个格式说明符必须有一个参数;每个参数类型必须和它各自的格式说明符相匹配。SprintfBox在下列情况下将产生一个编译错误或在运行时失败: ·指定多于十个格式说明符和参数:编译错误。
·参数数目和格式说明符数目不匹配。当一个说明符没有相应的参数,结果字符串将在说明符位置包括不可预测的字符。当参数多于说明符,多余的参数将被插入到结果字符串中。
·一个变量和它各自的格式说明符不匹配。结果字符串将在说明符位置包含不可预测字符。 返回值:
除非你使用本机的Windows 消息框风格(描述如下),返回值是没有意义的。 注解:
·该函数使用Microsoft Windows API MessageBox来创建消息框。消息框的OK按钮包含操作环境产生的文本。是操作环境而不是InstallShield确定消息框的大小和位置。
·熟悉Windows API的高级开发者可以通过在参数nType使用本机消息框风格常量来指定任何风格的消息框。查看你的操作环境编程手册中MessageBox 或WinMessageBox的说明。如果你使用任何本机消息框风格,InstallShiled SprintfBox函数将返回Windows API的返回值。因此,你必须在你的脚本中使用Windows API的返回值。
例如,如果你传递 YES|NO|CANCEL作为第一个参数,SprintfBox消息框将有Yes,No和Cancel按钮。各个按钮返回值,如Windows API MessageBox定义,是6 (IDYES), 7 (IDNO), 和2 (IDCANCEL)。你必须在你的脚本中使用适当的常量值,作为数字或作为在你的脚本的声明区中定义为数字的常量。
·高级开发者可以直接使用MB_STYLE作为SprintfBox函数的第一个参数来代替常量SEVERE, WARNING或 INFORMATION。MB_STYLE的值列在Windows.h中。你可以给参数nType直接输入值,或可以使用#define 预处理程序指令来定义和该值联系的常量。 ·当使用Windows消息框常量时注意下列问题:
· Windows MessageBox类型常量在Windows.h文件中声明,它不能被包括在一个InstallShield脚本中。当使用这些常量时,你必须在安装脚本的声明区定义它们(用#define)。赋给这些常量的值通常可以在由适当的Windows SDK或开发工具提供的一个包含文件中找到。对于Microsoft Visual C++,大多数常量可以在位于DevStudio\\Vc\\include文件夹的Windows.h文件中找到。
·Windows 和InstallShield消息框常量不能在一个安装中一起使用。如果一个InstallShield消息框常量和一个 Windows 消息框常量用一个或运算符组合,Windows 消息框常量将被忽略。
·一些Windows 消息框风格在一些Windows 平台不受支持。为确定一个特定的风格是否受安装确定的操作系统支持,咨询适当的Windows SDK。 4.15 Welcome
语法:Welcome (szTitle, nReserved);
说明:Welcome函数显示一个对话框来欢迎最终用户。 参数: szTitle
指定该对话框的标题。为显示缺省标题(“欢迎”) ,给该参数传递一个空字符串。 nReserved 给该参数传递0。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库内部库函数 - 图文(6)在线全文阅读。
相关推荐: