WindowPattern.WaitForInputIdle(Int32) Methode

Definitie

Zorgt ervoor dat de aanroepende code gedurende de opgegeven tijd wordt geblokkeerd of totdat het bijbehorende proces een niet-actieve status invoert, afhankelijk van wat het eerst wordt voltooid.

public:
 bool WaitForInputIdle(int milliseconds);
public bool WaitForInputIdle(int milliseconds);
member this.WaitForInputIdle : int -> bool
Public Function WaitForInputIdle (milliseconds As Integer) As Boolean

Parameters

milliseconds
Int32

De hoeveelheid tijd, in milliseconden, om te wachten tot het bijbehorende proces inactief is geworden. Het maximum is Int32.MaxValue.

Retouren

true als het venster de niet-actieve status heeft opgegeven; false als de time-out heeft plaatsgevonden.

Uitzonderingen

De doorgegeven parameter is geen geldig getal.

Voorbeelden

In het volgende voorbeeld wordt een WindowPattern controlepatroon verkregen uit een AutomationElement en wordt gebruikt WaitForInputIdle om te bevestigen dat het element binnen een redelijke tijd gereed is voor gebruikersinteractie.

///--------------------------------------------------------------------
/// <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

Opmerkingen

Deze methode wordt meestal gebruikt in combinatie met de verwerking van een WindowOpenedEvent.

De implementatie is afhankelijk van het onderliggende toepassingsframework; daarom kan deze methode enige tijd retourneren nadat het venster gereed is voor gebruikersinvoer. De aanroepende code mag niet afhankelijk zijn van deze methode om te bepalen wanneer het venster inactief is geworden.

Van toepassing op