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。 然后,可以在其他脚本中使用此任务序列变量,或用作其他任务序列步骤的条件。

另请参阅