Gewusst wie: Warten, bis Aktionen in Prozessen abgeschlossen sind
Aktualisiert: November 2007
Ein Prozess ist dann im Leerlauf, wenn sein Hauptfenster auf Eingaben vom System wartet. Um festzustellen, ob ein Prozess im Leerlauf ist, müssen Sie zunächst eine Process-Komponente binden. Sie können die WaitForInputIdle-Methode aufrufen, bevor der Zielprozess eine Aktion ausführt.
Die WaitForInputIdle-Methode weist eine Process-Komponente an, zu warten, bis der zugehörige Prozess in den Leerlauf wechselt. Diese Methode ist beispielsweise hilfreich, wenn die Anwendung abwartet, dass ein Prozess sein Hauptfenster erstellt, bevor die Kommunikation mit diesem Fenster aufgenommen wird. Die WaitForInputIdle-Methode kann nur mit Prozessen verwendet werden, die über eine Benutzeroberfläche verfügen.
So warten Sie, bis ein Prozess eine Aktion abgeschlossen hat
Weisen Sie dem Prozess, der gestartet werden soll, eine Instanz der Process-Komponente zu. Weitere Informationen hierzu finden Sie unter Gewusst wie: Festlegen von Prozessen.
Starten Sie den Prozess, indem Sie die Start-Methode aufrufen.
Rufen Sie die entsprechende WaitForInputIdle-Methode auf:
WaitForInputIdle weist die Process-Komponente an, zu warten, bis der zugehörige Prozess in den Leerlauf wechselt.
WaitForInputIdle weist die Process-Komponente an, die angegebene Anzahl an Millisekunden zu warten, bis der zugehörige Prozess in den Leerlauf wechselt.
Im folgenden Beispiel wird die WaitForInputIdle-Methode aufgerufen, um zu warten, bis der Windows-Editor vollständig geladen wurde, bevor die zugehörige Modules-Eigenschaft einem leeren Array zugewiesen wird.
Dim myProcess As New Process() myProcess = Process.Start("Notepad.exe") myProcess.WaitForInputIdle()
Process myProcess; myProcess = Process.Start("Notepad"); myProcess.WaitForInputIdle();
Siehe auch
Aufgaben
Gewusst wie: Binden an vorhandene Prozesse
Gewusst wie: Festlegen von Prozessen
Gewusst wie: Anhalten von Prozessen
Konzepte
Einführung in die Überwachung und Verwaltung von Windows-Prozessen