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 . 이 메서드를 사용하여 애플리케이션에 키 입력을 보내고 키 입력으로 시작된 모든 프로세스가 완료될 때까지 기다릴 수 있습니다. 이는 애플리케이션을 계속하기 전에 다른 애플리케이션이 완료되어야 하는 경우에 중요할 수 있습니다.
메모
다른 애플리케이션을 활성화하는 관리되는 방법이 없으므로 현재 애플리케이션 내에서 이 클래스를 사용하거나 네이티브 Windows 메서드(예: FindWindow 및 SetForegroundWindow)를 사용하여 다른 애플리케이션에 강제로 집중할 수 있습니다.
메모
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" 사용합니다.