Поделиться через


Process.WaitForInputIdle Метод

Определение

Дает компоненту Process команду ожидать входа связанного процесса в состояние простоя.

Перегрузки

WaitForInputIdle()

Дает компоненту Process команду ожидать перехода связанного процесса в состояние простоя в течение неограниченного времени. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений.

WaitForInputIdle(Int32)

Дает компоненту Process команду ожидать входа связанного процесса в состояние простоя в течение указанного времени в миллисекундах. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений.

WaitForInputIdle(TimeSpan)

Вызывает ожидание Process указанного timeout компонента, пока связанный процесс не перейдет в состояние простоя. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений.

WaitForInputIdle()

Исходный код:
Process.cs
Исходный код:
Process.cs
Исходный код:
Process.cs

Дает компоненту Process команду ожидать перехода связанного процесса в состояние простоя в течение неограниченного времени. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений.

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

Возвращаемое значение

Значение true, если связанный процесс достиг состояния простоя.

Исключения

Процесс не имеет графического интерфейса.

-или-

Произошла неизвестная ошибка. Процессу не удалось перейти в состояние бездействия.

-или-

Этот процесс уже завершился.

-или-

Нет процессов, связанных с этим объектом Process.

Комментарии

Используйте для WaitForInputIdle() принудительного ожидания обработки приложения, пока цикл сообщений не вернется в состояние простоя. При выполнении процесса с пользовательским интерфейсом его цикл сообщений выполняется каждый раз, когда операционная система отправляет в процесс сообщение Windows. Затем процесс возвращается к циклу сообщений. Считается, что процесс находится в состоянии простоя, когда он ожидает сообщений внутри цикла сообщений. Это состояние полезно, например, когда приложению необходимо дождаться завершения начального процесса создания main окна, прежде чем приложение будет взаимодействовать с этим окном.

Если процесс не имеет цикла сообщений, WaitForInputIdle() вызывает исключение InvalidOperationException.

Перегрузка WaitForInputIdle() предписывает компоненту Process ждать неограниченное время, пока процесс не станет простаивать в цикле сообщений. Эта инструкция может привести к тому, что приложение перестанет отвечать на запросы. Например, если процесс записывается так, чтобы всегда немедленно завершать цикл сообщений, как в фрагменте while(true)кода .

См. также раздел

Применяется к

WaitForInputIdle(Int32)

Исходный код:
Process.cs
Исходный код:
Process.cs
Исходный код:
Process.cs

Дает компоненту Process команду ожидать входа связанного процесса в состояние простоя в течение указанного времени в миллисекундах. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений.

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

Значение от 1 до Int32.MaxValue , указывающее время (в миллисекундах) на ожидание бездействия связанного процесса. Значение "0" указывает немедленный возврат, а значение "-1" указывает неопределенно долгое ожидание.

Возвращаемое значение

Значение true, если связанный процесс достиг состояния простоя; в противном случае — значение false.

Исключения

Процесс не имеет графического интерфейса.

-или-

Произошла неизвестная ошибка. Процессу не удалось перейти в состояние бездействия.

-или-

Этот процесс уже завершился.

-или-

Нет процессов, связанных с этим объектом Process.

Комментарии

Используйте для WaitForInputIdle(Int32) принудительного ожидания обработки приложения, пока цикл сообщений не вернется в состояние простоя. При выполнении процесса с пользовательским интерфейсом его цикл сообщений выполняется каждый раз, когда операционная система отправляет в процесс сообщение Windows. Затем процесс возвращается к циклу сообщений. Считается, что процесс находится в состоянии простоя, когда он ожидает сообщений внутри цикла сообщений. Это состояние полезно, например, когда приложению необходимо дождаться завершения начального процесса создания main окна, прежде чем приложение будет взаимодействовать с этим окном.

Если процесс не имеет цикла сообщений, WaitForInputIdle(Int32) вызывает исключение InvalidOperationException.

Перегрузка WaitForInputIdle(Int32) указывает компоненту Process ждать конечное время, пока процесс не станет бездействуемым в цикле сообщений. Если связанный процесс не бездействует к концу интервала, так как цикл по-прежнему обрабатывает сообщения, false возвращается в вызывающую процедуру.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

См. также раздел

Применяется к

WaitForInputIdle(TimeSpan)

Исходный код:
Process.cs
Исходный код:
Process.cs
Исходный код:
Process.cs

Вызывает ожидание Process указанного timeout компонента, пока связанный процесс не перейдет в состояние простоя. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений.

public:
 bool WaitForInputIdle(TimeSpan timeout);
public bool WaitForInputIdle (TimeSpan timeout);
member this.WaitForInputIdle : TimeSpan -> bool
Public Function WaitForInputIdle (timeout As TimeSpan) As Boolean

Параметры

timeout
TimeSpan

Время ожидания перехода связанного процесса в состояние бездействия в миллисекундах.

Возвращаемое значение

Значение true, если связанный процесс достиг состояния простоя; в противном случае — значение false.

Исключения

Процесс не имеет графического интерфейса.

-или-

Произошла неизвестная ошибка. Процессу не удалось перейти в состояние бездействия.

-или-

Этот процесс уже завершился.

-или-

Нет процессов, связанных с этим объектом Process.

Комментарии

Используйте для WaitForInputIdle(TimeSpan) принудительного ожидания обработки приложения, пока цикл сообщений не вернется в состояние простоя.

При выполнении процесса с пользовательским интерфейсом его цикл сообщений выполняется каждый раз, когда операционная система отправляет в процесс сообщение Windows.

Затем процесс возвращается к циклу сообщений. Считается, что процесс находится в состоянии простоя, когда он ожидает сообщений внутри цикла сообщений.

Это состояние полезно, например, когда приложению необходимо дождаться завершения начального процесса создания main окна, прежде чем приложение будет взаимодействовать с этим окном.

Применяется к