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 來將按鍵或按鍵組合傳送給正在進行的應用程式,並等待按鍵訊息被處理。 你可以用這個方法將按鍵傳送給應用程式,並等待由按鍵啟動的程序完成。 如果另一份申請必須完成才能繼續,這點就很重要。
Note
由於沒有受管理的方法來啟用其他應用程式,你可以選擇在目前應用程式中使用此類別,或使用原生 Windows 方法,如 FindWindow 和 SetForegroundWindow,強制聚焦於其他應用程式。
Note
該 SendKeys 類別已針對 .NET Framework 3.0 進行更新,以允許在 Windows Vista 上執行的應用程式中使用。 Windows Vista 強化的安全性(稱為使用者帳號控制,UAC)會阻止先前的實作如預期運作。
這個 SendKeys 職業容易受到時間限制的問題,有些開發者不得不透過這個方法來解決。 更新後的實作仍可能出現時序問題,但速度稍快,可能需要調整變通方法。 類別 SendKeys 嘗試先使用先前的實作,若失敗,則使用新的實作。 因此,該 SendKeys 類別在不同作業系統上的行為可能不同。 此外,當 SendKeys 類別使用新實作時, SendWait 方法不會等待訊息被處理,當訊息被送往另一個程序時。
如果你的應用程式無論作業系統如何都依賴一致的行為,你可以透過在 app.config 檔案中加入以下應用程式設定,強制類別 SendKeys 使用新的實作。
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
若要強制 SendKeys 類別使用先前的實作,請改用 值 "JournalHook" 。