IProgressUI::ShowMessageEx メソッド

バージョン 2006 以降、 ShowMessageEx メソッドにカスタマイズ可能なダイアログ ボックスが表示されます。 このメソッドは IProgressUI::ShowMessage メソッドに似ていますが、新しい整数の結果変数 pResult も含みます。

構文

[IDL]
HRESULT ShowMessageEx(
     BSTR pszText,
     BSTR pszCaption,
     ULONG uType,
     INT *pResult
);

パラメーター

pszText

データ型: BSTR

Qualifiers: [in]

メッセージ ボックスの本文に表示されるテキスト。

pszCaption

データ型: BSTR

Qualifiers: [in]

メッセージ ボックスの Windows ヘッダーに表示されるテキスト。

uType

データ型: ULONG

Qualifiers: [in]

ボタンに指定できる次の値のいずれかに対応する値:

  • 0 - OK
  • 1 - OK/キャンセル
  • 2 - 中止/再試行/無視
  • 3 - はい/いいえ/キャンセル
  • 4 - はい/いいえ
  • 5 - 再試行/キャンセル
  • 6 - キャンセル/再試行/続行

pResult

データ型: INT

Qualifiers: [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 が作成されます。 その後、このタスク シーケンス変数を他のスクリプトで使用したり、他のタスク シーケンス ステップの条件として使用したりできます。

関連項目