브라우저 제어를 위해 키 입력 (Ctrl + T)을 보내려고합니다. 그러나 SendKeys.Send()
은 WPF 응용 프로그램에서 오류를 보였습니다 ?? 내 질문은WPF 응용 프로그램에서 SendKeys.Send 메서드
1) WPF 응용 프로그램에서이 방법을 사용할 수 있습니까?
2) 자동 키 입력을 보내는 다른 방법이 있습니까?
감사합니다.
브라우저 제어를 위해 키 입력 (Ctrl + T)을 보내려고합니다. 그러나 SendKeys.Send()
은 WPF 응용 프로그램에서 오류를 보였습니다 ?? 내 질문은WPF 응용 프로그램에서 SendKeys.Send 메서드
1) WPF 응용 프로그램에서이 방법을 사용할 수 있습니까?
2) 자동 키 입력을 보내는 다른 방법이 있습니까?
감사합니다.
SendKeys는 System.Windows.Forms 네임 스페이스의 일부이며 Wpf에는 해당 메서드가 없습니다. WPF와 함께 SendKeys.Send를 사용할 수 없지만 프로젝트 참조에 System.Windows.Forms를 추가하면 SendKeys.SendWait 메서드를 사용할 수 있습니다. 유일한 옵션은 SendInput입니다.
두 방법 모두 현재 활성 창으로 데이터를 전송합니다.
제안 해 주셔서 감사합니다 .-) – Adnan
@ YasirAdnan 안녕하세요. –
InputManager의 사용을 설명하는 blog post이 발견되었습니다. WPF에서 키보드 이벤트를 시뮬레이션 할 수 있습니다.
/// <summary>
/// Sends the specified key.
/// </summary>
/// <param name="key">The key.</param>
public static void Send(Key key)
{
if (Keyboard.PrimaryDevice != null)
{
if (Keyboard.PrimaryDevice.ActiveSource != null)
{
var e = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, key)
{
RoutedEvent = Keyboard.KeyDownEvent
};
InputManager.Current.ProcessInput(e);
// Note: Based on your requirements you may also need to fire events for:
// RoutedEvent = Keyboard.PreviewKeyDownEvent
// RoutedEvent = Keyboard.KeyUpEvent
// RoutedEvent = Keyboard.PreviewKeyUpEvent
}
}
}
무엇이 오류입니까? –