Process.WaitForInputIdle 方法

定義

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

多載

WaitForInputIdle()

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

WaitForInputIdle(Int32)

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

WaitForInputIdle(TimeSpan)

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

WaitForInputIdle()

來源:
Process.cs
來源:
Process.cs
來源:
Process.cs

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

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

傳回

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

例外狀況

處理序沒有圖形化介面。

-或-

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

-或-

處理程序已經結束。

-或-

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

備註

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

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

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

另請參閱

適用於

WaitForInputIdle(Int32)

來源:
Process.cs
來源:
Process.cs
來源:
Process.cs

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 時則指定無限期等候。

傳回

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

例外狀況

處理序沒有圖形化介面。

-或-

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

-或-

處理程序已經結束。

-或-

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

備註

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

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

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

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

另請參閱

適用於

WaitForInputIdle(TimeSpan)

來源:
Process.cs
來源:
Process.cs
來源:
Process.cs

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

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

傳回

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

例外狀況

處理序沒有圖形化介面。

-或-

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

-或-

處理程序已經結束。

-或-

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

備註

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

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

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

例如,當應用程式需要等候開始程式完成建立主視窗之後,應用程式與該視窗通訊之前,這個狀態就很有用。

適用於