다른 WPF 어셈블리를 많이 사용하는 WPF (프리즘) 응용 프로그램과 다른 창 (wpf 및 win32)을 포함하는 win32 dll도 있습니다.wpf/win32 응용 프로그램을 혼합하여 응용 프로그램 전체 단축키 정의
사용자가 기능 키 (F2-F12)를 누르면 특정 프로그램 기능을 열려고합니다. 이 같은
뭔가 :
RoutedCommand commandF4 = new RoutedCommand();
commandF4.InputGestures.Add(new KeyGesture(Key.F4));
Application.Current.MainWindow.CommandBindings.Add(new CommandBinding(commandF4, CallCommandF4));
문제는 다음 MainWindow를에 포커스가있는 동안이에만 작동 않습니다. 보조 WPF 창 (또는 win32 창)을 열면 키 바인딩이 더 이상 적용되지 않습니다.
F4 (또는 다른 키)에 대해 응용 프로그램 전역 단축키를 추가 할 수있는 방법이 있습니까?
또는 적어도 WPF 전체 단축키?
[입력 :
은 그냥 닷넷 4.0을 사용하는 경우 다음이 대신 흐 모드의 PARAM 사용으로
를 사용하는 SetWindowsHookEx를 사용하는 주를 가지고 포커스는 한 번에 하나의 창에있을 수 있습니다.] (http://msdn.microsoft.com/en-us/library/ms754010.aspx#focus). 2 차 창에서 키 바인딩을 잡아 내고 [메시징] (http://www.google.com/search?q=mvvm+messaging)을 사용하여 키를 누른 MainWindow와 통신 할 수 있습니다. Win32 창은 낮은 수준의 키보드 후크와 정렬을 요구할 수 있습니다. –