내 C#/WPF/.NET 4.5 응용 프로그램에서 KeyEventHandler를 통해 키 프레스를 캡처하고 나중에 Windows Input Simulator을 사용하여 해당 키를 에뮬레이션합니다 (제스처, 음성 등의 명령을 매핑). 키보드).Key를 VirtualKeyCode로 변환
문제는 내가 KeyEventHandler
의 RoutedEventArgs
하지만 나중에 내가 VirtualKeyCode
SimulateKeyPress()
에 전달해야로부터 Key
열거의 멤버를 얻을 수있다.
Key
에서 VirtualKeyCode
까지 어떻게 이동합니까?
// Trigger reader
private void Editor_CommandButton_Click(object sender, RoutedEventArgs e) {
PressKeyModal.Visibility = System.Windows.Visibility.Visible;
AddHandler(Keyboard.KeyDownEvent, (KeyEventHandler)Editor_HandleKeyDownEvent);
}
// Read key press from keyboard
private void Editor_HandleKeyDownEvent(object sender, KeyEventArgs e) {
// Here is the culprit
VirtualKeyCode CodeOfKeyToEmulate = ConvertSomehow(e.Key);
// /culprit
PressKeyModal.Visibility = System.Windows.Visibility.Hidden;
RemoveHandler(Keyboard.KeyDownEvent, (KeyEventHandler)Editor_HandleKeyDownEvent);
}
// Later, emulate the key press
private void EmulateKeyPress(VirtualKeyCode codeOfKeyToEmulate({
InputSimulator.SimulateKeyPress(codeOfKeyToEmulate);
}
어떤 .NET 버전을 사용하고 있습니까? – keyboardP
.NET 4.5 (그에 따라 편집 된 질문) – mbaytas