Método IProgressUI::ShowMessageEx

A partir da versão 2006, o ShowMessageEx método exibe uma caixa de diálogo personalizável. Esse método é semelhante ao método IProgressUI::ShowMessage , mas também inclui uma nova variável de resultado inteiro, pResult.

Sintaxe

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

Parâmetros

pszText

Tipo de dados: BSTR

Qualificadores: [in]

O texto exibido no corpo da caixa de mensagens.

pszCaption

Tipo de dados: BSTR

Qualificadores: [in]

O texto exibido no cabeçalho de janelas da caixa de mensagens.

uType

Tipo de dados: ULONG

Qualificadores: [in]

O valor correspondente a um dos seguintes valores possíveis para os botões:

  • 0 - Ok
  • 1 – Ok/Cancelar
  • 2 - Abortar/repetir/ignorar
  • 3 – Sim/Não/Cancelar
  • 4 – Sim/Não
  • 5 – Repetir/cancelar
  • 6 – Cancelar/Tentar novamente/Continuar

pResult

Tipo de dados: INT

Qualificadores: [out]

O valor dessa variável é um valor de retorno padrão da caixa de mensagens do Windows.

Valores de retorno

Um HRESULT código. Os valores possíveis incluem, mas não se limitam a, o valor a seguir. Não há HRESULT valores retornados que sejam específicos para esse método.

S_OK
O método foi bem-sucedido.

Para avaliar a resposta do usuário à caixa de mensagens, use o parâmetro pResult .

Exemplo

O seguinte exemplo de script do PowerShell mostra como usar este método:

$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'
}

Você pode usar um script como este na etapa Executar Script do PowerShell na sequência de tarefas. Se o usuário selecionar Sim na janela personalizada, o script criará uma variável de sequência de tarefas personalizada TS-UserPressedButton com um valor de Yes. Em seguida, você pode usar essa variável de sequência de tarefas em outros scripts ou como condição em outras etapas da sequência de tarefas.

Confira também