IProgressUI::ShowMessageEx 方法
从版本 2006 开始, ShowMessageEx
方法会显示一个可自定义的对话框。 此方法类似于 IProgressUI::ShowMessage 方法,但还包括一个新的整数结果变量 pResult。
语法
[IDL]
HRESULT ShowMessageEx(
BSTR pszText,
BSTR pszCaption,
ULONG uType,
INT *pResult
);
参数
pszText
数据类型BSTR
限定符:[in]
消息框正文中显示的文本。
pszCaption
数据类型BSTR
限定符:[in]
消息框窗口标题中显示的文本。
uType
数据类型ULONG
限定符:[in]
对应于按钮的以下可能值之一的值:
- 0 - 确定
- 1 - 确定/取消
- 2 - 中止/重试/忽略
- 3 - 是/否/取消
- 4 - 是/否
- 5 - 重试/取消
- 6 - 取消/重试/继续
pResult
数据类型INT
限定符:[out]
此变量的值是标准的 Windows 消息框返回值。
返回值
代码 HRESULT
。 可能的值包括但不限于以下值。 没有 HRESULT
返回特定于此方法的值。
S_OK
方法成功。
若要评估用户对消息框的响应,请使用 pResult 参数。
示例
以下 PowerShell 脚本示例演示如何使用此方法:
$Message = "Can you see this message?"
$Title = "Contoso IT"
$Type = 4 # Yes/No
$Output = 0
$TaskSequenceProgressUi = New-Object -ComObject "Microsoft.SMS.TSProgressUI"
$TaskSequenceProgressUi.ShowMessageEx($Message, $Title, $Type, [ref]$Output)
$TSEnv = New-Object -ComObject "Microsoft.SMS.TSEnvironment"
if ($Output -eq 6) {
$TSEnv.Value("TS-UserPressedButton") = 'Yes'
}
可以在任务序列中的 “运行 PowerShell 脚本” 步骤中使用如下所示的脚本。 如果用户在自定义窗口中选择“是”,则脚本将创建值为 的Yes
自定义任务序列变量 TS-UserPressedButton。 然后,可以在其他脚本中使用此任务序列变量,或用作其他任务序列步骤的条件。