WindowPattern.WaitForInputIdle(Int32) Metod

Definition

Gör att den anropande koden blockeras under den angivna tiden eller tills den associerade processen går in i ett inaktivt tillstånd, beroende på vilket som slutförs först.

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

Parametrar

milliseconds
Int32

Hur lång tid, i millisekunder, att vänta tills den associerade processen blir inaktiv. Maxvärdet är Int32.MaxValue.

Returer

true om fönstret har angett inaktivt tillstånd; false om tidsgränsen inträffade.

Undantag

Parametern som skickas är inte ett giltigt tal.

Exempel

I följande exempel hämtas ett WindowPattern kontrollmönster från en AutomationElement och används WaitForInputIdle för att bekräfta att elementet är redo för användarinteraktion inom rimlig tid.

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

Kommentarer

Den här metoden används vanligtvis tillsammans med hanteringen av en WindowOpenedEvent.

Implementeringen är beroende av det underliggande programramverket. Därför kan den här metoden returneras en stund efter att fönstret är klart för användarindata. Den anropande koden bör inte förlita sig på den här metoden för att fastställa exakt när fönstret har blivit inaktivt.

Gäller för