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

関連項目