WindowPattern.WaitForInputIdle(Int32) メソッド

定義

呼び出し元のコードが、指定した時間、または関連付けられているプロセスがアイドル状態になるまでブロックします。どちらか早い方が完了します。

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

パラメーター

milliseconds
Int32

関連付けられたプロセスがアイドル状態になるまで待機する時間 (ミリ秒単位)。 最大値は Int32.MaxValue です

返品

true ウィンドウがアイドル状態に入った場合。タイムアウトが発生した場合に false します。

例外

渡されたパラメーターが有効な数値ではありません。

次の例では、 WindowPattern コントロール パターンが AutomationElement から取得され、 WaitForInputIdle を使用して、妥当な時間内に要素がユーザー操作の準備ができているかどうかを確認します。

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

注釈

このメソッドは、通常、 WindowOpenedEventの処理と組み合わせて使用されます。

実装は、基になるアプリケーション フレームワークに依存します。したがって、このメソッドは、ウィンドウがユーザー入力の準備ができた後にしばらく時間を返す可能性があります。 呼び出し元のコードは、ウィンドウがアイドル状態になったときに正確に確認するために、このメソッドに依存しないでください。

適用対象