Process.WaitForInputIdle Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Faz com que o Process componente espere que o processo associado entre num estado de inatividade.
Sobrecargas
| Name | Description |
|---|---|
| WaitForInputIdle() |
Faz com que o Process componente espere indefinidamente que o processo associado entre num estado inativo. Esta sobrecarga aplica-se apenas a processos com uma interface de utilizador e, portanto, um ciclo de mensagens. |
| WaitForInputIdle(Int32) |
Faz com que o Process componente espere o número especificado de milissegundos para que o processo associado entre num estado de inatividade. Esta sobrecarga aplica-se apenas a processos com uma interface de utilizador e, portanto, um ciclo de mensagens. |
WaitForInputIdle()
Faz com que o Process componente espere indefinidamente que o processo associado entre num estado inativo. Esta sobrecarga aplica-se apenas a processos com uma interface de utilizador e, portanto, um ciclo de mensagens.
public:
bool WaitForInputIdle();
public bool WaitForInputIdle();
member this.WaitForInputIdle : unit -> bool
Public Function WaitForInputIdle () As Boolean
Devoluções
true se o processo associado tiver atingido um estado inativo.
Exceções
O processo não tem uma interface gráfica.
-ou-
Ocorreu um erro desconhecido. O processo não entrou em estado de inatividade.
-ou-
O processo já terminou.
-ou-
Nenhum processo está associado a este Process objeto.
Observações
Use WaitForInputIdle() para forçar o processamento da sua aplicação a esperar até que o ciclo de mensagens volte ao estado de inatividade. Quando um processo com uma interface de utilizador está a ser executado, o seu ciclo de mensagens é executado sempre que uma mensagem do Windows é enviada ao processo pelo sistema operativo. O processo regressa então ao ciclo de mensagens. Diz-se que um processo está em estado inativo quando está à espera de mensagens dentro de um ciclo de mensagens. Este estado é útil, por exemplo, quando a sua aplicação precisa de esperar que um processo inicial termine de criar a sua janela principal antes de a aplicação comunicar com essa janela.
Se um processo não tiver um ciclo de mensagens, WaitForInputIdle() lança um InvalidOperationException.
A WaitForInputIdle() sobrecarga instrui o Process componente a esperar indefinidamente que o processo fique inativo no ciclo de mensagens. Esta instrução pode fazer com que uma aplicação deixe de responder. Por exemplo, se o processo for escrito para sair sempre imediatamente do seu ciclo de mensagens, como no fragmento while(true)de código .
Ver também
Aplica-se a
WaitForInputIdle(Int32)
Faz com que o Process componente espere o número especificado de milissegundos para que o processo associado entre num estado de inatividade. Esta sobrecarga aplica-se apenas a processos com uma interface de utilizador e, portanto, um ciclo de mensagens.
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 elevado a Int32.MaxValue que especifica o tempo, em milissegundos, para esperar que o processo associado fique inativo. Um valor de 0 especifica um retorno imediato, e um valor de -1 indica uma espera infinita.
Devoluções
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 entrou em estado de inatividade.
-ou-
O processo já terminou.
-ou-
Nenhum processo está associado a este Process objeto.
Observações
Use WaitForInputIdle(Int32) para forçar o processamento da sua aplicação a esperar até que o ciclo de mensagens volte ao estado de inatividade. Quando um processo com uma interface de utilizador está a ser executado, o seu ciclo de mensagens é executado sempre que uma mensagem do Windows é enviada ao processo pelo sistema operativo. O processo regressa então ao ciclo de mensagens. Diz-se que um processo está em estado inativo quando está à espera de mensagens dentro de um ciclo de mensagens. Este estado é útil, por exemplo, quando a sua aplicação precisa de esperar que um processo inicial termine de criar a sua janela principal antes de a aplicação comunicar com essa janela.
Se um processo não tiver um ciclo de mensagens, WaitForInputIdle(Int32) lança um InvalidOperationException.
A WaitForInputIdle(Int32) sobrecarga instrui o Process componente a esperar um tempo finito até que o processo fique inativo no ciclo de mensagens. Se o processo associado não tiver ficado ocioso no final do intervalo porque o ciclo ainda está a processar mensagens, false é devolvido ao procedimento de chamada.
Para obter mais informações sobre como manipular eventos, consulte Manipulando e gerando eventos.