Process.WaitForInputIdle Método

Definição

Faz com que o Process componente aguarde até que o processo associado insira um estado ocioso.

Sobrecargas

Nome Description
WaitForInputIdle()

Faz com que o Process componente aguarde indefinidamente para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

WaitForInputIdle(Int32)

Faz com que o Process componente aguarde o número especificado de milissegundos para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

WaitForInputIdle()

Faz com que o Process componente aguarde indefinidamente para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

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

Retornos

true se o processo associado atingiu um estado ocioso.

Exceções

O processo não tem uma interface gráfica.

-ou-

Ocorreu um erro desconhecido. O processo não pôde entrar em um estado ocioso.

-ou-

O processo já foi encerrado.

-ou-

Nenhum processo está associado a esse Process objeto.

Comentários

Use WaitForInputIdle() para forçar o processamento do aplicativo a aguardar até que o loop de mensagem retorne ao estado ocioso. Quando um processo com uma interface do usuário está sendo executado, seu loop de mensagem é executado sempre que uma mensagem Windows é enviada ao processo pelo sistema operacional. Em seguida, o processo retorna para o loop de mensagem. Diz-se que um processo está em um estado ocioso quando está aguardando mensagens dentro de um loop de mensagem. Esse estado é útil, por exemplo, quando seu aplicativo precisa aguardar que um processo inicial termine de criar sua janela principal antes que o aplicativo se comunique com essa janela.

Se um processo não tiver um loop de mensagem, WaitForInputIdle() gerará um InvalidOperationException.

A WaitForInputIdle() sobrecarga instrui o Process componente a aguardar indefinidamente para que o processo fique ocioso no loop de mensagem. Essa instrução pode fazer com que um aplicativo pare de responder. Por exemplo, se o processo for gravado para sempre sair imediatamente do loop de mensagem, como no fragmento while(true)de código.

Confira também

Aplica-se a

WaitForInputIdle(Int32)

Faz com que o Process componente aguarde o número especificado de milissegundos para que o processo associado insira um estado ocioso. Essa sobrecarga se aplica apenas a processos com uma interface do usuário e, portanto, a um loop de mensagem.

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

Um valor de 1 a Int32.MaxValue que especifica a quantidade de tempo, em milissegundos, para aguardar o processo associado ficar ocioso. Um valor 0 especifica um retorno imediato e um valor de -1 especifica uma espera infinita.

Retornos

true se o processo associado atingiu um estado ocioso; caso contrário, false.

Exceções

O processo não tem uma interface gráfica.

-ou-

Ocorreu um erro desconhecido. O processo não pôde entrar em um estado ocioso.

-ou-

O processo já foi encerrado.

-ou-

Nenhum processo está associado a esse Process objeto.

Comentários

Use WaitForInputIdle(Int32) para forçar o processamento do aplicativo a aguardar até que o loop de mensagem retorne ao estado ocioso. Quando um processo com uma interface do usuário está sendo executado, seu loop de mensagem é executado sempre que uma mensagem Windows é enviada ao processo pelo sistema operacional. Em seguida, o processo retorna para o loop de mensagem. Diz-se que um processo está em um estado ocioso quando está aguardando mensagens dentro de um loop de mensagem. Esse estado é útil, por exemplo, quando seu aplicativo precisa aguardar que um processo inicial termine de criar sua janela principal antes que o aplicativo se comunique com essa janela.

Se um processo não tiver um loop de mensagem, WaitForInputIdle(Int32) gerará um InvalidOperationException.

A WaitForInputIdle(Int32) sobrecarga instrui o Process componente a aguardar um tempo finito para que o processo fique ocioso no loop de mensagem. Se o processo associado não tiver ficado ocioso até o final do intervalo porque o loop ainda está processando mensagens, false será retornado ao procedimento de chamada.

Para obter mais informações sobre como manipular eventos, consulte Manipulando e gerando eventos.

Confira também

Aplica-se a