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 메서드(예: FindWindowSetForegroundWindow)를 사용하여 다른 애플리케이션에 강제로 집중할 수 있습니다.

메모

SendKeys Windows Vista에서 실행되는 애플리케이션에서 사용할 수 있도록 .NET Framework 3.0에 대한 클래스가 업데이트되었습니다. Windows Vista(사용자 계정 컨트롤 또는 UAC라고 함)의 보안 강화로 인해 이전 구현이 예상대로 작동하지 않습니다.

SendKeys 클래스는 일부 개발자가 해결해야 하는 타이밍 문제에 취약합니다. 업데이트된 구현은 여전히 타이밍 문제에 취약하지만 약간 더 빠르며 해결 방법을 변경해야 할 수 있습니다. 클래스는 SendKeys 먼저 이전 구현을 사용하려고 시도하고, 실패하는 경우 새 구현을 사용합니다. 결과적으로 클래스는 SendKeys 다른 운영 체제에서 다르게 동작할 수 있습니다. 또한 클래스가 SendKeys 새 구현 SendWait 을 사용하는 경우 메서드는 메시지가 다른 프로세스로 전송될 때 처리될 때까지 기다리지 않습니다.

애플리케이션이 운영 체제에 관계없이 일관된 동작을 사용하는 경우 app.config 파일에 다음 애플리케이션 설정을 추가하여 클래스가 새 구현을 사용하도록 강제 SendKeys 할 수 있습니다.

<appSettings>

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

</appSettings>

클래스가 SendKeys 이전 구현을 사용하도록 강제하려면 대신 값을 "JournalHook" 사용합니다.

적용 대상