WindowPattern.WaitForInputIdle(Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyebabkan kode panggilan diblokir untuk waktu yang ditentukan atau sampai proses terkait memasuki status menganggur, mana pun yang selesai terlebih dahulu.
public:
bool WaitForInputIdle(int milliseconds);
public bool WaitForInputIdle (int milliseconds);
member this.WaitForInputIdle : int -> bool
Public Function WaitForInputIdle (milliseconds As Integer) As Boolean
Parameter
- milliseconds
- Int32
Jumlah waktu, dalam milidetik, untuk menunggu proses terkait menjadi menganggur. Maksimumnya adalah Int32.MaxValue.
Mengembalikan
true
jika jendela telah memasuki status menganggur; false
jika waktu habis terjadi.
Pengecualian
Parameter yang diteruskan bukan angka yang valid.
Contoh
Dalam contoh berikut, WindowPattern pola kontrol diperoleh dari AutomationElement dan digunakan WaitForInputIdle untuk mengonfirmasi elemen siap untuk interaksi pengguna dalam jumlah waktu yang wajar.
///--------------------------------------------------------------------
/// <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
Keterangan
Metode ini biasanya digunakan bersama dengan penanganan WindowOpenedEvent.
Implementasinya tergantung pada kerangka kerja aplikasi yang mendasar; oleh karena itu metode ini dapat mengembalikan beberapa saat setelah jendela siap untuk input pengguna. Kode panggilan tidak boleh mengandalkan metode ini untuk memastikan dengan tepat kapan jendela telah menganggur.