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" 값을 대신 사용합니다.

적용 대상