WindowPattern.WaitForInputIdle(Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Faz com que o código de chamada bloqueie durante o tempo especificado ou até que o processo associado entre num estado de inatividade, o que for concluído primeiro.
public:
bool WaitForInputIdle(int milliseconds);
public bool WaitForInputIdle(int milliseconds);
member this.WaitForInputIdle : int -> bool
Public Function WaitForInputIdle (milliseconds As Integer) As Boolean
Parâmetros
- milliseconds
- Int32
O tempo, em milissegundos, para esperar que o processo associado fique inativo. O máximo é Int32.MaxValue.
Devoluções
true se a janela entrar no estado de inatividade; false se o tempo morto ocorreu.
Exceções
O parâmetro passado não é um número válido.
Exemplos
No exemplo seguinte, um WindowPattern padrão de controlo é obtido a partir de um AutomationElement e usado WaitForInputIdle para confirmar que o elemento está pronto para interação com o utilizador dentro de um período de tempo razoável.
///--------------------------------------------------------------------
/// <summary>
/// Obtains a WindowPattern control pattern from an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A WindowPattern object.
/// </returns>
///--------------------------------------------------------------------
private WindowPattern GetWindowPattern(AutomationElement targetControl)
{
WindowPattern windowPattern = null;
try
{
windowPattern =
targetControl.GetCurrentPattern(WindowPattern.Pattern)
as WindowPattern;
}
catch (InvalidOperationException)
{
// object doesn't support the WindowPattern control pattern
return null;
}
// Make sure the element is usable.
if (false == windowPattern.WaitForInputIdle(10000))
{
// Object not responding in a timely manner
return null;
}
return windowPattern;
}
'''------------------------------------------------------------------------
''' <summary>
''' Obtains a WindowPattern control pattern from an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A WindowPattern object.
''' </returns>
'''------------------------------------------------------------------------
Private Function GetWindowPattern(ByVal targetControl As AutomationElement) As WindowPattern
Dim windowPattern As WindowPattern = Nothing
Try
windowPattern = DirectCast( _
targetControl.GetCurrentPattern(windowPattern.Pattern), _
WindowPattern)
Catch
' object doesn't support the WindowPattern control pattern
Return Nothing
End Try
' Make sure the element is usable.
If False = windowPattern.WaitForInputIdle(10000) Then
' Object not responding in a timely manner
Return Nothing
End If
Return windowPattern
End Function 'GetWindowPattern
Observações
Este método é tipicamente usado em conjunto com o tratamento de um WindowOpenedEvent.
A implementação depende da estrutura de aplicação subjacente; portanto, este método pode regressar algum tempo depois da janela estar pronta para entrada do utilizador. O código de chamada não deve depender deste método para determinar exatamente quando a janela ficou inativa.