WindowPattern.WaitForInputIdle(Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
呼び出し元のコードは、指定された時間、または関連付けられたプロセスがアイドル状態に入るまでブロックされます。どちらが最初に完了するかは関係ありません。
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と組み合わせて使用されます。
実装は、基になるアプリケーション フレームワークに依存します。したがって、このメソッドは、ウィンドウがユーザー入力の準備ができたらしばらくしてからを返す場合があります。 呼び出し元のコードは、ウィンドウがアイドル状態になった正確なタイミングを確認するために、このメソッドに依存しないようにする必要があります。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET