Process.WaitForInputIdle Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Hace que el Process componente espere a que el proceso asociado entre en un estado inactivo.
Sobrecargas
| Nombre | Description |
|---|---|
| WaitForInputIdle() |
Hace que el componente Process espere indefinidamente para que el proceso asociado entre en un estado inactivo. Esta sobrecarga solo se aplica a los procesos con una interfaz de usuario y, por lo tanto, un bucle de mensajes. |
| WaitForInputIdle(Int32) |
Hace que el componente Process espere al número especificado de milisegundos para que el proceso asociado entre en un estado inactivo. Esta sobrecarga solo se aplica a los procesos con una interfaz de usuario y, por lo tanto, un bucle de mensajes. |
WaitForInputIdle()
Hace que el componente Process espere indefinidamente para que el proceso asociado entre en un estado inactivo. Esta sobrecarga solo se aplica a los procesos con una interfaz de usuario y, por lo tanto, un bucle de mensajes.
public:
bool WaitForInputIdle();
public bool WaitForInputIdle();
member this.WaitForInputIdle : unit -> bool
Public Function WaitForInputIdle () As Boolean
Devoluciones
true si el proceso asociado ha alcanzado un estado inactivo.
Excepciones
El proceso no tiene una interfaz gráfica.
O bien
Se ha producido un error desconocido. El proceso no pudo especificar un estado inactivo.
O bien
El proceso ya se ha cerrado.
O bien
No hay ningún proceso asociado a este Process objeto.
Comentarios
Use WaitForInputIdle() para forzar el procesamiento de la aplicación a esperar hasta que el bucle de mensajes haya devuelto al estado inactivo. Cuando se ejecuta un proceso con una interfaz de usuario, su bucle de mensajes se ejecuta cada vez que el sistema operativo envía un mensaje Windows al proceso. A continuación, el proceso vuelve al bucle de mensajes. Se dice que un proceso está en un estado inactivo cuando está esperando mensajes dentro de un bucle de mensajes. Este estado es útil, por ejemplo, cuando la aplicación necesita esperar a que un proceso de inicio termine de crear su ventana principal antes de que la aplicación se comunique con esa ventana.
Si un proceso no tiene un bucle de mensajes, WaitForInputIdle() produce una InvalidOperationExceptionexcepción .
La WaitForInputIdle() sobrecarga indica al Process componente que espere indefinidamente para que el proceso esté inactivo en el bucle de mensajes. Esta instrucción puede hacer que una aplicación deje de responder. Por ejemplo, si el proceso se escribe para salir siempre de su bucle de mensajes inmediatamente, como en el fragmento while(true)de código .
Consulte también
Se aplica a
WaitForInputIdle(Int32)
Hace que el componente Process espere al número especificado de milisegundos para que el proceso asociado entre en un estado inactivo. Esta sobrecarga solo se aplica a los procesos con una interfaz de usuario y, por lo tanto, un bucle de mensajes.
public:
bool WaitForInputIdle(int milliseconds);
public bool WaitForInputIdle(int milliseconds);
member this.WaitForInputIdle : int -> bool
Public Function WaitForInputIdle (milliseconds As Integer) As Boolean
Parámetros
- milliseconds
- Int32
Valor de 1 a Int32.MaxValue que especifica la cantidad de tiempo, en milisegundos, para esperar a que el proceso asociado se vuelva inactivo. Un valor de 0 especifica una devolución inmediata y un valor de -1 especifica una espera infinita.
Devoluciones
true si el proceso asociado ha alcanzado un estado inactivo; de lo contrario, false.
Excepciones
El proceso no tiene una interfaz gráfica.
O bien
Se ha producido un error desconocido. El proceso no pudo especificar un estado inactivo.
O bien
El proceso ya se ha cerrado.
O bien
No hay ningún proceso asociado a este Process objeto.
Comentarios
Use WaitForInputIdle(Int32) para forzar el procesamiento de la aplicación a esperar hasta que el bucle de mensajes haya devuelto al estado inactivo. Cuando se ejecuta un proceso con una interfaz de usuario, su bucle de mensajes se ejecuta cada vez que el sistema operativo envía un mensaje Windows al proceso. A continuación, el proceso vuelve al bucle de mensajes. Se dice que un proceso está en un estado inactivo cuando está esperando mensajes dentro de un bucle de mensajes. Este estado es útil, por ejemplo, cuando la aplicación necesita esperar a que un proceso de inicio termine de crear su ventana principal antes de que la aplicación se comunique con esa ventana.
Si un proceso no tiene un bucle de mensajes, WaitForInputIdle(Int32) produce una InvalidOperationExceptionexcepción .
La WaitForInputIdle(Int32) sobrecarga indica al Process componente que espere una cantidad finita de tiempo para que el proceso esté inactivo en el bucle de mensajes. Si el proceso asociado no se ha inactivo al final del intervalo porque el bucle sigue procesando mensajes, false se devuelve al procedimiento de llamada.
Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.