Process.WaitForInputIdle Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Дает компоненту Process команду ожидать входа связанного процесса в состояние простоя.
Перегрузки
WaitForInputIdle() |
Дает компоненту Process команду ожидать перехода связанного процесса в состояние простоя в течение неограниченного времени. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений. |
WaitForInputIdle(Int32) |
Дает компоненту Process команду ожидать входа связанного процесса в состояние простоя в течение указанного времени в миллисекундах. Эта перегрузка применяется только к процессам с пользовательским интерфейсом и, следовательно, с циклом сообщений. |
WaitForInputIdle(TimeSpan) |
Вызывает ожидание Process указанного |
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, прежде чем приложение будет взаимодействовать с этим окном.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по