SendKeys.SendWait(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳送指定的按鍵至使用中的應用程式,然後等待訊息的處理。
public:
static void SendWait(System::String ^ keys);
public static void SendWait (string keys);
static member SendWait : string -> unit
Public Shared Sub SendWait (keys As String)
參數
- keys
- String
要傳送的按鍵字串。
備註
使用 SendWait 將按鍵或按鍵組合傳送至使用中應用程式,並等候處理按鍵訊息。 您可以使用這個方法將按鍵傳送至應用程式,並等候按鍵啟動的任何進程完成。 如果其他應用程式必須完成,才能繼續應用程式,這點可能很重要。
注意
因為沒有 Managed 方法來啟用另一個應用程式,所以您可以在目前的應用程式內使用此類別,或使用原生 Windows 方法,例如 FindWindow
和 SetForegroundWindow
,強制將焦點放在其他應用程式。
注意
SendKeys 類別已針對 .NET Framework 3.0 進行更新,以便能夠在 Windows Vista 上執行的應用程式中使用。 Windows Vista 的增強式安全性 (稱為使用者帳戶控制或 UAC) 會讓之前的實作無法如預期般運作。
SendKeys 類別容易受到時間問題的影響,某些開發人員必須解決這些問題。 更新的實作仍然容易受到時間問題的影響,但是速度會稍微快一些,而且可能需要對解決方法進行變更。 SendKeys 類別會先嘗試使用之前的實作;如果失敗,則使用新的實作。 因此, SendKeys 類別在不同的作業系統上可能會有不同的運作方式。 此外,當 SendKeys 類別使用新的實作時, SendWait 方法不會在將訊息傳送至另一個處理序時,等候處理這些訊息。
如果不論作業系統為何,應用程式都需要一致的行為,您可以強制 SendKeys 類別使用新的實作,方式是將下列應用程式設定加入 app.config 檔中。
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
若要強制 SendKeys 類別使用之前的實作,請改用 "JournalHook"
值。