Process.WaitForInputIdle Process.WaitForInputIdle Process.WaitForInputIdle Process.WaitForInputIdle Method

Definizione

Il componente Process attenderà che il processo associato entri in uno stato inattivo.Causes the Process component to wait for the associated process to enter an idle state.

Overload

WaitForInputIdle() WaitForInputIdle() WaitForInputIdle() WaitForInputIdle()

Il componente Process attenderà in modo indefinito che il processo associato entri in uno stato inattivo.Causes the Process component to wait indefinitely for the associated process to enter an idle state. Questo overload viene applicato soltanto ai processi dotati di interfaccia utente e, quindi, di un ciclo di messaggi.This overload applies only to processes with a user interface and, therefore, a message loop.

WaitForInputIdle(Int32) WaitForInputIdle(Int32) WaitForInputIdle(Int32) WaitForInputIdle(Int32)

Il componente Process attenderà per un numero specificato di millisecondi che il processo associato entri in uno stato inattivo.Causes the Process component to wait the specified number of milliseconds for the associated process to enter an idle state. Questo overload viene applicato soltanto ai processi dotati di interfaccia utente e, quindi, di un ciclo di messaggi.This overload applies only to processes with a user interface and, therefore, a message loop.

WaitForInputIdle() WaitForInputIdle() WaitForInputIdle() WaitForInputIdle()

Il componente Process attenderà in modo indefinito che il processo associato entri in uno stato inattivo.Causes the Process component to wait indefinitely for the associated process to enter an idle state. Questo overload viene applicato soltanto ai processi dotati di interfaccia utente e, quindi, di un ciclo di messaggi.This overload applies only to processes with a user interface and, therefore, a message loop.

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

Restituisce

true se il processo associato ha raggiunto uno stato inattivo.true if the associated process has reached an idle state.

Eccezioni

Il processo non ha un'interfaccia grafica.The process does not have a graphical interface.

In alternativa-or- Si è verificato un errore sconosciuto.An unknown error occurred. Il processo non è riuscito a passare a uno stato di inattività.The process failed to enter an idle state.

In alternativa-or- Processo già terminato.The process has already exited.

In alternativa-or- Nessun processo associato all'oggetto Process.No process is associated with this Process object.

Commenti

Usare WaitForInputIdle() per forzare l'elaborazione dell'applicazione in attesa fino a quando non ha restituito il ciclo di messaggi nello stato inattivo.Use WaitForInputIdle() to force the processing of your application to wait until the message loop has returned to the idle state. Quando un processo con un'interfaccia utente è in esecuzione, il ciclo di messaggi viene eseguito ogni volta che viene inviato un messaggio di Windows per il processo dal sistema operativo.When a process with a user interface is executing, its message loop executes every time a Windows message is sent to the process by the operating system. Il processo restituisce quindi il ciclo di messaggi.The process then returns to the message loop. Un processo viene definito in uno stato di inattività quando è in attesa dei messaggi all'interno di un ciclo di messaggi.A process is said to be in an idle state when it is waiting for messages inside of a message loop. Questo stato è utile, ad esempio, quando l'applicazione deve attendere che un processo completare la creazione relativa finestra principale prima che l'applicazione comunica con tale finestra.This state is useful, for example, when your application needs to wait for a starting process to finish creating its main window before the application communicates with that window.

Se un processo non dispone di un ciclo di messaggi WaitForInputIdle() genera un InvalidOperationException.If a process does not have a message loop, WaitForInputIdle() throws an InvalidOperationException.

Il WaitForInputIdle() overload indica il Process componente per un'attesa indefinita per il processo di diventare inattiva nel ciclo di messaggi.The WaitForInputIdle() overload instructs the Process component to wait indefinitely for the process to become idle in the message loop. Questa istruzione può causare un'applicazione di rispondere.This instruction can cause an application to stop responding. Ad esempio, se il processo viene scritto per sempre il messaggio uscire immediatamente dal ciclo, come illustrato nel frammento di codice while(true).For example, if the process is written to always exit its message loop immediately, as in the code fragment while(true).

Sicurezza

LinkDemand
per un'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

Vedi anche

WaitForInputIdle(Int32) WaitForInputIdle(Int32) WaitForInputIdle(Int32) WaitForInputIdle(Int32)

Il componente Process attenderà per un numero specificato di millisecondi che il processo associato entri in uno stato inattivo.Causes the Process component to wait the specified number of milliseconds for the associated process to enter an idle state. Questo overload viene applicato soltanto ai processi dotati di interfaccia utente e, quindi, di un ciclo di messaggi.This overload applies only to processes with a user interface and, therefore, a message loop.

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

Parametri

milliseconds
Int32 Int32 Int32 Int32

Valore pari a 1 per MaxValue che specifica la quantità di tempo, espressa in millisecondi, in base alla quale viene atteso che il processo associato diventi inattivo.A value of 1 to MaxValue that specifies the amount of time, in milliseconds, to wait for the associated process to become idle. Un valore pari a 0 specifica una restituzione immediata, mentre un valore pari a -1 specifica un'attesa infinita.A value of 0 specifies an immediate return, and a value of -1 specifies an infinite wait.

Restituisce

true se il processo associato ha raggiunto uno stato inattivo; in caso contrario, false.true if the associated process has reached an idle state; otherwise, false.

Eccezioni

Il processo non ha un'interfaccia grafica.The process does not have a graphical interface.

In alternativa-or- Si è verificato un errore sconosciuto.An unknown error occurred. Il processo non è riuscito a passare a uno stato di inattività.The process failed to enter an idle state.

In alternativa-or- Processo già terminato.The process has already exited.

In alternativa-or- Nessun processo associato all'oggetto Process.No process is associated with this Process object.

Commenti

Usare WaitForInputIdle(Int32) per forzare l'elaborazione dell'applicazione in attesa fino a quando non ha restituito il ciclo di messaggi nello stato inattivo.Use WaitForInputIdle(Int32) to force the processing of your application to wait until the message loop has returned to the idle state. Quando un processo con un'interfaccia utente è in esecuzione, il ciclo di messaggi viene eseguito ogni volta che viene inviato un messaggio di Windows per il processo dal sistema operativo.When a process with a user interface is executing, its message loop executes every time a Windows message is sent to the process by the operating system. Il processo restituisce quindi il ciclo di messaggi.The process then returns to the message loop. Un processo viene definito in uno stato di inattività quando è in attesa dei messaggi all'interno di un ciclo di messaggi.A process is said to be in an idle state when it is waiting for messages inside of a message loop. Questo stato è utile, ad esempio, quando l'applicazione deve attendere che un processo completare la creazione relativa finestra principale prima che l'applicazione comunica con tale finestra.This state is useful, for example, when your application needs to wait for a starting process to finish creating its main window before the application communicates with that window.

Se un processo non dispone di un ciclo di messaggi WaitForInputIdle(Int32) genera un InvalidOperationException.If a process does not have a message loop, WaitForInputIdle(Int32) throws an InvalidOperationException.

Il WaitForInputIdle(Int32) overload indica il Process componente attendere un periodo di tempo per il processo di diventare inattiva nel ciclo di messaggi finito.The WaitForInputIdle(Int32) overload instructs the Process component to wait a finite amount of time for the process to become idle in the message loop. Se il processo associato non è diventata inattivo entro la fine dell'intervallo poiché il ciclo sta ancora elaborando i messaggi, false viene restituito alla routine chiamante.If the associated process has not become idle by the end of the interval because the loop is still processing messages, false is returned to the calling procedure.

Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.For more information about handling events, see Handling and Raising Events.

Sicurezza

LinkDemand
per un'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

Vedi anche

Si applica a