WindowPattern.WaitForInputIdle(Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Powoduje, że kod wywołujący blokuje określony czas lub dopóki skojarzony proces nie zostanie wprowadzony w stanie bezczynności, w zależności od tego, co zostanie ukończone jako pierwsze.
public:
bool WaitForInputIdle(int milliseconds);
public bool WaitForInputIdle (int milliseconds);
member this.WaitForInputIdle : int -> bool
Public Function WaitForInputIdle (milliseconds As Integer) As Boolean
Parametry
- milliseconds
- Int32
Czas oczekiwania na bezczynność skojarzonego procesu w milisekundach. Maksymalna wartość to Int32.MaxValue.
Zwraca
true
jeśli okno zostało wprowadzone w stanie bezczynności; false
jeśli wystąpił limit czasu.
Wyjątki
Przekazany parametr nie jest prawidłową liczbą.
Przykłady
W poniższym przykładzie wzorzec kontrolki jest uzyskiwany z elementu AutomationElement i używany WaitForInputIdle do potwierdzenia, WindowPattern że element jest gotowy do interakcji użytkownika w rozsądnym czasie.
///--------------------------------------------------------------------
/// <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
Uwagi
Ta metoda jest zwykle używana w połączeniu z obsługą klasy WindowOpenedEvent.
Implementacja jest zależna od podstawowej struktury aplikacji; w związku z tym ta metoda może zwrócić jakiś czas po zakończeniu okna na potrzeby danych wejściowych użytkownika. Kod wywołujący nie powinien polegać na tej metodzie, aby ustalić dokładnie, kiedy okno stało się bezczynne.