SendKeys.SendWait(String) メソッド

定義

特定のキーをアクティブなアプリケーションに送信し、メッセージが処理されるまで待機します。

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 します。 このメソッドを使用すると、キーストロークをアプリケーションに送信し、キーストロークによって開始されたすべてのプロセスが完了するまで待機できます。 これは、アプリケーションを続行する前に他のアプリケーションを終了する必要がある場合に重要になる場合があります。

注意

別のアプリケーションをアクティブ化するマネージド メソッドがないため、現在のアプリケーション内でこのクラスを使用するか、ネイティブ Windows メソッド (たとえば、他のアプリケーションに強制的に集中させる) FindWindow SetForegroundWindowを使用できます。

注意

.NET Framework 3.0 の SendKeys クラスが更新され、Windows Vista で実行されるアプリケーションで使用できるようになりました。 Windows Vista の強化されたセキュリティ、(ユーザー アカウント制御または UAC と呼ばれます) により、前の実装は想定どおり機能できません。

SendKeys クラスはタイミングの問題が発生する可能性があり、一部の開発者は回避策を取る必要がありました。 更新された実装は、引き続きタイミングの問題が発生する可能性がありますが、速度が少し向上し、回避策の変更が必要となる可能性があります。 SendKeys クラスは、最初に前の実装を使用しようとし、失敗した場合に、新しい実装を使用します。 その結果、 SendKeys クラスが別のオペレーティング システムと異なる動作を取る可能性があります。 さらに、 SendKeys クラスは、新しい実装を使用した場合、 SendWait メソッドが別のプロセスに送信されたときにメッセージの処理を待機しません。

アプリケーションが、オペレーティング システムに関係なく一貫した動作に依存する場合、app.config ファイルに次のアプリケーション設定を追加することで、 SendKeys クラスが新しい実装を使用するよう強制することができます。

<appSettings>

<add key="SendKeys" value="SendInput"/>

</appSettings>

SendKeys クラスが前の実装を使用するよう強制するには、代わりに値 "JournalHook" を使用します。

適用対象