Freigeben über


Process.WaitForInputIdle Methode

Definition

Bewirkt, dass die Process-Komponente wartet, bis der zugeordnete Prozess in den Leerlauf wechselt.

Überlädt

WaitForInputIdle()

Bewirkt, dass die Process-Komponente unbegrenzt wartet, bis der zugeordnete Prozess in den Leerlauf wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

WaitForInputIdle(Int32)

Bewirkt, dass die Process-Komponente die Dauer von angegebenen Millisekunden wartet, bis der zugeordnete Prozess in den Leerlauf wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

WaitForInputIdle(TimeSpan)

Bewirkt, dass die Process Komponente auf den angegebenen timeout wartet, bis der zugeordnete Prozess in einen Leerlaufzustand wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

WaitForInputIdle()

Quelle:
Process.cs
Quelle:
Process.cs
Quelle:
Process.cs

Bewirkt, dass die Process-Komponente unbegrenzt wartet, bis der zugeordnete Prozess in den Leerlauf wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

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

Gibt zurück

true, wenn der zugehörige Prozess in den Leerlauf wechselt.

Ausnahmen

Der Prozess verfügt nicht über eine grafische Benutzeroberfläche.

- oder -

Es ist ein unbekannter Fehler aufgetreten. Der Prozess konnte nicht in den Leerlauf wechseln.

- oder -

Der Prozess wurde bereits beendet.

- oder -

Diesem Process-Objekt ist kein Prozess zugeordnet.

Hinweise

Verwenden Sie WaitForInputIdle() , um zu erzwingen, dass die Verarbeitung Ihrer Anwendung wartet, bis die Nachrichtenschleife in den Leerlaufzustand zurückgekehrt ist. Wenn ein Prozess mit einer Benutzeroberfläche ausgeführt wird, wird seine Nachrichtenschleife jedes Mal ausgeführt, wenn eine Windows-Nachricht vom Betriebssystem an den Prozess gesendet wird. Der Prozess kehrt dann zur Nachrichtenschleife zurück. Ein Prozess befindet sich im Leerlauf, wenn er innerhalb einer Nachrichtenschleife auf Nachrichten wartet. Dieser Zustand ist z. B. nützlich, wenn Ihre Anwendung warten muss, bis ein Startprozess zum Erstellen des Standard Fensters abgeschlossen ist, bevor die Anwendung mit diesem Fenster kommuniziert.

Wenn ein Prozess keine Nachrichtenschleife aufweist, WaitForInputIdle() löst ein aus InvalidOperationException.

Die WaitForInputIdle() Überladung weist die Process Komponente an, unbegrenzt zu warten, bis der Prozess in der Nachrichtenschleife im Leerlauf ist. Diese Anweisung kann dazu führen, dass eine Anwendung nicht mehr reagiert. Wenn der Prozess beispielsweise so geschrieben wird, dass seine Nachrichtenschleife immer sofort beendet wird, wie im Codefragment while(true).

Weitere Informationen

Gilt für:

WaitForInputIdle(Int32)

Quelle:
Process.cs
Quelle:
Process.cs
Quelle:
Process.cs

Bewirkt, dass die Process-Komponente die Dauer von angegebenen Millisekunden wartet, bis der zugeordnete Prozess in den Leerlauf wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

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

Parameter

milliseconds
Int32

Ein Wert von 1 bis Int32.MaxValue , der angibt, wie lange in Millisekunden gewartet werden muss, bis der zugeordnete Prozess im Leerlauf liegt. Der Wert 0 gibt eine sofortige Rückgabe an, der Wert -1 gibt eine unendliche Wartezeit an.

Gibt zurück

true, wenn der zugeordnete Prozess in den Leerlauf wechselt, andernfalls false.

Ausnahmen

Der Prozess verfügt nicht über eine grafische Benutzeroberfläche.

- oder -

Es ist ein unbekannter Fehler aufgetreten. Der Prozess konnte nicht in den Leerlauf wechseln.

- oder -

Der Prozess wurde bereits beendet.

- oder -

Diesem Process-Objekt ist kein Prozess zugeordnet.

Hinweise

Verwenden Sie WaitForInputIdle(Int32) , um zu erzwingen, dass die Verarbeitung Ihrer Anwendung wartet, bis die Nachrichtenschleife in den Leerlaufzustand zurückgekehrt ist. Wenn ein Prozess mit einer Benutzeroberfläche ausgeführt wird, wird seine Nachrichtenschleife jedes Mal ausgeführt, wenn eine Windows-Nachricht vom Betriebssystem an den Prozess gesendet wird. Der Prozess kehrt dann zur Nachrichtenschleife zurück. Ein Prozess befindet sich im Leerlauf, wenn er innerhalb einer Nachrichtenschleife auf Nachrichten wartet. Dieser Zustand ist z. B. nützlich, wenn Ihre Anwendung warten muss, bis ein Startprozess zum Erstellen des Standard Fensters abgeschlossen ist, bevor die Anwendung mit diesem Fenster kommuniziert.

Wenn ein Prozess keine Nachrichtenschleife aufweist, WaitForInputIdle(Int32) löst ein aus InvalidOperationException.

Die WaitForInputIdle(Int32) Überladung weist die Process Komponente an, eine begrenzte Zeit zu warten, bis der Prozess in der Nachrichtenschleife im Leerlauf liegt. Wenn der zugeordnete Prozess am Ende des Intervalls nicht im Leerlauf ist, weil die Schleife weiterhin Nachrichten verarbeitet, false wird an die aufrufende Prozedur zurückgegeben.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Weitere Informationen

Gilt für:

WaitForInputIdle(TimeSpan)

Quelle:
Process.cs
Quelle:
Process.cs
Quelle:
Process.cs

Bewirkt, dass die Process Komponente auf den angegebenen timeout wartet, bis der zugeordnete Prozess in einen Leerlaufzustand wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

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

Parameter

timeout
TimeSpan

Die Zeitspanne in Millisekunden, während der gewartet werden soll, dass der zugeordnete Prozess in den Leerlauf wechselt.

Gibt zurück

true, wenn der zugeordnete Prozess in den Leerlauf wechselt, andernfalls false.

Ausnahmen

Der Prozess verfügt nicht über eine grafische Benutzeroberfläche.

- oder -

Es ist ein unbekannter Fehler aufgetreten. Der Prozess konnte nicht in den Leerlauf wechseln.

- oder -

Der Prozess wurde bereits beendet.

- oder -

Diesem Process-Objekt ist kein Prozess zugeordnet.

Hinweise

Verwenden Sie WaitForInputIdle(TimeSpan) , um zu erzwingen, dass die Verarbeitung Ihrer Anwendung wartet, bis die Nachrichtenschleife in den Leerlaufzustand zurückgekehrt ist.

Wenn ein Prozess mit einer Benutzeroberfläche ausgeführt wird, wird seine Nachrichtenschleife jedes Mal ausgeführt, wenn eine Windows-Nachricht vom Betriebssystem an den Prozess gesendet wird.

Der Prozess kehrt dann zur Nachrichtenschleife zurück. Ein Prozess befindet sich im Leerlauf, wenn er innerhalb einer Nachrichtenschleife auf Nachrichten wartet.

Dieser Zustand ist z. B. nützlich, wenn Ihre Anwendung warten muss, bis ein Startprozess zum Erstellen des Standard Fensters abgeschlossen ist, bevor die Anwendung mit diesem Fenster kommuniziert.

Gilt für: