WindowPattern.WaitForInputIdle(Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.