Process.WaitForInputIdle 方法

定義

Process 元件等候相關聯處理序進入閒置狀態。

多載

WaitForInputIdle()

Process 元件無限期等候相關聯處理序進入閒置狀態。 這個多載只適用於具有使用者介面和訊息迴圈的處理序。

WaitForInputIdle(Int32)

Process 元件等候相關聯處理序進入閒置狀態的指定毫秒數。 這個多載只適用於具有使用者介面和訊息迴圈的處理序。

WaitForInputIdle(TimeSpan)

Process讓元件等候指定的 timeout ,讓相關聯的進程進入閒置狀態。 這個多載只適用於具有使用者介面和訊息迴圈的處理序。

WaitForInputIdle()

Process 元件無限期等候相關聯處理序進入閒置狀態。 這個多載只適用於具有使用者介面和訊息迴圈的處理序。

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

傳回

Boolean

如果相關聯處理序已經達到閒置狀態,則為 true

例外狀況

處理序沒有圖形化介面。

-或-

發生未知的錯誤。 處理序無法進入閒置狀態。

-或-

處理程序已經結束。

-或-

沒有和這個 Process 物件相關聯的處理序。

備註

使用 WaitForInputIdle() 強制處理應用程式,直到訊息迴圈返回閒置狀態為止。 當具有使用者介面的進程正在執行時,其訊息迴圈會在每次 Windows 訊息由作業系統傳送至進程時執行。 接著,進程會返回訊息迴圈。 進程在等候訊息迴圈內的訊息時,稱為處於閒置狀態。 例如,當您的應用程式需要等候開始程式完成建立主視窗之前,應用程式與該視窗進行通訊時,此狀態非常有用。

如果進程沒有訊息迴圈, WaitForInputIdle() 則會擲回 InvalidOperationException

WaitForInputIdle() 載會 Process 指示元件無限期等候進程在訊息迴圈中變成閒置狀態。 此指示可能會導致應用程式停止回應。 例如,如果程式被寫入,一律會立即結束其訊息迴圈,如程式碼片段 while(true) 所示。

另請參閱

適用於

WaitForInputIdle(Int32)

Process 元件等候相關聯處理序進入閒置狀態的指定毫秒數。 這個多載只適用於具有使用者介面和訊息迴圈的處理序。

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

參數

milliseconds
Int32

值 1 到 Int32.MaxValue ,指定等待相關聯進程閒置的時間量,以毫秒為單位。 值為 0 時,指定立即傳回,而值為 -1 時則指定無限期等候。

傳回

Boolean

如果相關聯處理序已經達到閒置狀態,則為 true,否則為 false

例外狀況

處理序沒有圖形化介面。

-或-

發生未知的錯誤。 處理序無法進入閒置狀態。

-或-

處理程序已經結束。

-或-

沒有和這個 Process 物件相關聯的處理序。

備註

使用 WaitForInputIdle(Int32) 強制處理應用程式,直到訊息迴圈返回閒置狀態為止。 當具有使用者介面的進程正在執行時,其訊息迴圈會在每次 Windows 訊息由作業系統傳送至進程時執行。 接著,進程會返回訊息迴圈。 進程在等候訊息迴圈內的訊息時,稱為處於閒置狀態。 例如,當您的應用程式需要等候開始程式完成建立主視窗之前,應用程式與該視窗進行通訊時,此狀態非常有用。

如果進程沒有訊息迴圈, WaitForInputIdle(Int32) 則會擲回 InvalidOperationException

WaitForInputIdle(Int32) 載會 Process 指示元件等候有限的時間,讓進程在訊息迴圈中變成閒置。 如果關聯的進程因為迴圈仍在處理訊息而未在間隔結束時閒置, false 則會傳回給呼叫程式。

如需處理事件的詳細資訊,請參閱 處理和引發事件

另請參閱

適用於

WaitForInputIdle(TimeSpan)

Process讓元件等候指定的 timeout ,讓相關聯的進程進入閒置狀態。 這個多載只適用於具有使用者介面和訊息迴圈的處理序。

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

參數

timeout
TimeSpan

等候相關聯處理序變成閒置的時間量 (以毫秒為單位)。

傳回

Boolean

如果相關聯處理序已經達到閒置狀態,則為 true,否則為 false

例外狀況

處理序沒有圖形化介面。

-或-

發生未知的錯誤。 處理序無法進入閒置狀態。

-或-

處理程序已經結束。

-或-

沒有和這個 Process 物件相關聯的處理序。

備註

使用 WaitForInputIdle(TimeSpan) 強制處理應用程式,直到訊息迴圈返回閒置狀態為止。

當具有使用者介面的進程正在執行時,其訊息迴圈會在每次 Windows 訊息由作業系統傳送至進程時執行。

接著,進程會返回訊息迴圈。 進程在等候訊息迴圈內的訊息時,稱為處於閒置狀態。

例如,當您的應用程式需要等候開始程式完成建立主視窗之前,應用程式與該視窗進行通訊時,此狀態非常有用。

適用於