Process.WaitForInputIdle Método

Definición

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.

Consulte también

Se aplica a