WindowPattern.WaitForInputIdle(Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Způsobí blokování volajícího kódu po zadanou dobu nebo dokud přidružený proces nepřejde do stavu nečinnosti, podle toho, co se dokončí dříve.
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
Doba čekání na nečinnost přidruženého procesu v milisekundách Maximum je Int32.MaxValue.
Návraty
true
pokud okno přešlo do stavu nečinnosti; false
pokud došlo k vypršení časového limitu.
Výjimky
Parametr předaný v není platné číslo.
Příklady
V následujícím příkladu WindowPattern je získán řídicí vzor z objektu AutomationElement a používá WaitForInputIdle k potvrzení, že je prvek připravený k interakci uživatele v přiměřeném čase.
///--------------------------------------------------------------------
/// <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
Poznámky
Tato metoda se obvykle používá ve spojení se zpracováním .WindowOpenedEvent
Implementace závisí na podkladové aplikační architektuře; Proto se tato metoda může vrátit nějakou dobu poté, co je okno připraveno pro vstup uživatele. Volající kód by neměl spoléhat na tuto metodu, aby přesně zjistil, kdy se okno stalo nečinné.