Hay que utilizar WaitForInputIdle(Int32) para hacer que el procesamiento de una aplicación determinada se detenga hasta que el bucle de mensajes haya regresado al estado de inactividad. Cuando se está ejecutando un proceso que tiene una interfaz de usuario, el bucle de mensajes se ejecuta cada vez que el sistema operativo envía un mensaje de Windows al proceso. A continuación, el proceso regresa al bucle de mensajes. Se dice que un proceso se encuentra en estado de inactividad cuando está esperando mensajes en un bucle de mensajes. Este estado puede ser útil, por ejemplo, si la aplicación necesita esperar a que un proceso que se está iniciando termine de crear la ventana principal antes de que la aplicación se comunique con dicha ventana.
Si un proceso no tiene un bucle de mensajes, el método WaitForInputIdle(Int32) devuelve false inmediatamente.
La sobrecarga de WaitForInputIdle(Int32) indica al componente Process que espere durante una cantidad de tiempo determinada a que el proceso pase a estar inactivo en el bucle de mensajes. Si el proceso asociado no pasa a estar inactivo cuando ha terminado el intervalo de tiempo porque el bucle todavía está procesando mensajes, se devuelve false al procedimiento que realiza la llamada.
Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.