Process.WaitForInputIdle Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.