IProgressUI::ShowMessageEx-Methode
Ab Version 2006 zeigt die ShowMessageEx
-Methode ein anpassbares Dialogfeld an. Diese Methode ähnelt der IProgressUI::ShowMessage-Methode , enthält aber auch eine neue ganzzahlige Ergebnisvariable, pResult.
Syntax
[IDL]
HRESULT ShowMessageEx(
BSTR pszText,
BSTR pszCaption,
ULONG uType,
INT *pResult
);
Parameter
pszText
Datentyp: BSTR
Qualifizierer: [in]
Der im Textkörper des Meldungsfelds angezeigte Text.
pszCaption
Datentyp: BSTR
Qualifizierer: [in]
Der Text, der in der Windows-Kopfzeile des Meldungsfelds angezeigt wird.
uType
Datentyp: ULONG
Qualifizierer: [in]
Der Wert, der einem der folgenden möglichen Werte für die Schaltflächen entspricht:
- 0 - Ok
- 1 – Ok/Abbrechen
- 2 – Abbrechen/Wiederholen/Ignorieren
- 3 - Ja/Nein/Abbrechen
- 4 - Ja/Nein
- 5 – Wiederholen/Abbrechen
- 6 – Abbrechen/Wiederholen/Fortfahren
pResult
Datentyp: INT
Qualifizierer: [out]
Der Wert dieser Variablen ist ein Standardmäßiger Windows-Meldungsfeld-Rückgabewert.
Rückgabewerte
Ein HRESULT
Code. Mögliche Werte sind unter anderem der folgende Wert. Es werden keine HRESULT
Werte zurückgegeben, die für diese Methode spezifisch sind.
S_OK
Die Methode war erfolgreich.
Verwenden Sie den pResult-Parameter , um die Antwort des Benutzers auf das Meldungsfeld auszuwerten.
Beispiel
Im folgenden PowerShell-Skriptbeispiel wird die Verwendung dieser Methode veranschaulicht:
$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'
}
Sie können ein Skript wie dieses im Schritt PowerShell-Skript ausführen in der Tasksequenz verwenden. Wenn der Benutzer im benutzerdefinierten Fenster Ja auswählt, erstellt das Skript eine benutzerdefinierte Tasksequenzvariable TS-UserPressedButton mit dem Wert Yes
. Sie können diese Tasksequenzvariable dann in anderen Skripts oder als Bedingung für andere Tasksequenzschritte verwenden.