Process.WaitForInputIdle Metoda

Definicja

Process Powoduje, że składnik czeka na wprowadzenie stanu bezczynności skojarzonego procesu.

Przeciążenia

Nazwa Opis
WaitForInputIdle()

Powoduje, że składnik Process czekać na czas nieokreślony, aż skojarzony proces wejdzie w stan bezczynności. To przeciążenie dotyczy tylko procesów z interfejsem użytkownika i w związku z tym pętli komunikatów.

WaitForInputIdle(Int32)

Powoduje, że składnik Process czekać określoną liczbę milisekund dla skojarzonego procesu, aby wprowadzić stan bezczynności. To przeciążenie dotyczy tylko procesów z interfejsem użytkownika i w związku z tym pętli komunikatów.

WaitForInputIdle()

Powoduje, że składnik Process czekać na czas nieokreślony, aż skojarzony proces wejdzie w stan bezczynności. To przeciążenie dotyczy tylko procesów z interfejsem użytkownika i w związku z tym pętli komunikatów.

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

Zwraca

true jeśli skojarzony proces osiągnął stan bezczynności.

Wyjątki

Proces nie ma interfejsu graficznego.

— lub —

Wystąpił nieznany błąd. Proces nie może wprowadzić stanu bezczynności.

— lub —

Proces został już zakończony.

— lub —

Żaden proces nie jest skojarzony z tym Process obiektem.

Uwagi

Użyj polecenia WaitForInputIdle() , aby wymusić przetwarzanie aplikacji, aby poczekać na powrót pętli komunikatów do stanu bezczynności. Gdy proces z interfejsem użytkownika jest wykonywany, jego pętla komunikatów jest wykonywana za każdym razem, gdy Windows komunikat jest wysyłany do procesu przez system operacyjny. Następnie proces powraca do pętli komunikatów. Mówi się, że proces jest w stanie bezczynności, gdy oczekuje na komunikaty wewnątrz pętli komunikatów. Ten stan jest przydatny, na przykład wtedy, gdy aplikacja musi poczekać na zakończenie procesu uruchamiania, aby ukończyć tworzenie okna głównego, zanim aplikacja komunikuje się z tym oknem.

Jeśli proces nie ma pętli komunikatów, WaitForInputIdle() zgłasza błąd InvalidOperationException.

Przeciążenie WaitForInputIdle() nakazuje Process składnikowi oczekiwanie na czas nieokreślony, aż proces stanie się bezczynny w pętli komunikatów. Ta instrukcja może spowodować, że aplikacja przestanie odpowiadać. Jeśli na przykład proces jest zapisywany w celu natychmiastowego zakończenia pętli komunikatów, tak jak w fragcie while(true)kodu .

Zobacz też

Dotyczy

WaitForInputIdle(Int32)

Powoduje, że składnik Process czekać określoną liczbę milisekund dla skojarzonego procesu, aby wprowadzić stan bezczynności. To przeciążenie dotyczy tylko procesów z interfejsem użytkownika i w związku z tym pętli komunikatów.

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

Parametry

milliseconds
Int32

Wartość od 1 do Int32.MaxValue określająca ilość czasu (w milisekundach) oczekiwania na bezczynność skojarzonego procesu. Wartość 0 określa natychmiastowy zwrot, a wartość -1 określa nieskończone oczekiwanie.

Zwraca

true jeśli skojarzony proces osiągnął stan bezczynności; w przeciwnym razie, false.

Wyjątki

Proces nie ma interfejsu graficznego.

— lub —

Wystąpił nieznany błąd. Proces nie może wprowadzić stanu bezczynności.

— lub —

Proces został już zakończony.

— lub —

Żaden proces nie jest skojarzony z tym Process obiektem.

Uwagi

Użyj polecenia WaitForInputIdle(Int32) , aby wymusić przetwarzanie aplikacji, aby poczekać na powrót pętli komunikatów do stanu bezczynności. Gdy proces z interfejsem użytkownika jest wykonywany, jego pętla komunikatów jest wykonywana za każdym razem, gdy Windows komunikat jest wysyłany do procesu przez system operacyjny. Następnie proces powraca do pętli komunikatów. Mówi się, że proces jest w stanie bezczynności, gdy oczekuje na komunikaty wewnątrz pętli komunikatów. Ten stan jest przydatny, na przykład wtedy, gdy aplikacja musi poczekać na zakończenie procesu uruchamiania, aby ukończyć tworzenie okna głównego, zanim aplikacja komunikuje się z tym oknem.

Jeśli proces nie ma pętli komunikatów, WaitForInputIdle(Int32) zgłasza błąd InvalidOperationException.

Przeciążenie WaitForInputIdle(Int32) instruuje Process składnikowi oczekiwanie na skończoną ilość czasu na bezczynność procesu w pętli komunikatów. Jeśli skojarzony proces nie stał się bezczynny do końca interwału, ponieważ pętla nadal przetwarza komunikaty, false jest zwracana do procedury wywołującej.

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i wywoływanie zdarzeń.

Zobacz też

Dotyczy