Process.WaitForInputIdle Método

Definición

Hace que el componente Process espere a que el proceso asociado entre en estado de inactividad.

Sobrecargas

WaitForInputIdle()

Hace que el componente Process espere indefinidamente a que el proceso asociado entre en estado de inactividad. Esta sobrecarga solo se aplica a los procesos que tengan una interfaz de usuario y, por tanto, un bucle de mensajes.

WaitForInputIdle(Int32)

Hace que el componente Process espere a que el proceso asociado entre en estado de inactividad durante el número de milisegundos especificado. Esta sobrecarga solo se aplica a los procesos que tengan una interfaz de usuario y, por tanto, un bucle de mensajes.

WaitForInputIdle(TimeSpan)

Hace que el Process componente espere a que el proceso asociado especifique timeout un estado inactivo. Esta sobrecarga solo se aplica a los procesos que tengan una interfaz de usuario y, por tanto, un bucle de mensajes.

WaitForInputIdle()

Hace que el componente Process espere indefinidamente a que el proceso asociado entre en estado de inactividad. Esta sobrecarga solo se aplica a los procesos que tengan una interfaz de usuario y, por 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 alcanzó un estado de inactividad.

Excepciones

El proceso no tiene una interfaz gráfica.

o bien

Se ha producido un error desconocido. El proceso no pudo entrar en un estado inactivo.

o bien

El proceso ya se cerró.

o bien

No hay ningún proceso asociado a este objeto Process.

Comentarios

Use WaitForInputIdle() para forzar el procesamiento de la aplicación a esperar hasta que el bucle de mensajes haya vuelto 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 de 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() inicia un InvalidOperationException.

La WaitForInputIdle() sobrecarga indica al Process componente que espere indefinidamente para que el proceso se vuelva 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 a que el proceso asociado entre en estado de inactividad durante el número de milisegundos especificado. Esta sobrecarga solo se aplica a los procesos que tengan una interfaz de usuario y, por 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. El valor 0 especifica una devolución inmediata, y el valor -1 especifica una espera infinita.

Devoluciones

Es true si el proceso asociado alcanzó el estado de inactividad; de lo contrario, es false.

Excepciones

El proceso no tiene una interfaz gráfica.

o bien

Se ha producido un error desconocido. El proceso no pudo entrar en un estado inactivo.

o bien

El proceso ya se cerró.

o bien

No hay ningún proceso asociado a este objeto Process.

Comentarios

Use WaitForInputIdle(Int32) para forzar el procesamiento de la aplicación a esperar hasta que el bucle de mensajes haya vuelto 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 de 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) inicia un InvalidOperationException.

La WaitForInputIdle(Int32) sobrecarga indica al Process componente que espere una cantidad finita de tiempo para que el proceso se vuelva inactivo en el bucle de mensajes. Si el proceso asociado no se ha vuelto 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

WaitForInputIdle(TimeSpan)

Hace que el Process componente espere a que el proceso asociado especifique timeout un estado inactivo. Esta sobrecarga solo se aplica a los procesos que tengan una interfaz de usuario y, por tanto, un bucle de mensajes.

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

Parámetros

timeout
TimeSpan

Cantidad de tiempo, en milisegundos, que se esperará hasta que el proceso asociado entre a un estado de inactividad.

Devoluciones

Es true si el proceso asociado alcanzó el estado de inactividad; de lo contrario, es false.

Excepciones

El proceso no tiene una interfaz gráfica.

o bien

Se ha producido un error desconocido. El proceso no pudo entrar en un estado inactivo.

o bien

El proceso ya se cerró.

o bien

No hay ningún proceso asociado a este objeto Process.

Comentarios

Use WaitForInputIdle(TimeSpan) para forzar el procesamiento de la aplicación a esperar hasta que el bucle de mensajes haya vuelto 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 de 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.

Se aplica a