Windows Media кнопки на пульте дистанционного управления не работают в WPF - PullRequest
0 голосов
/ 01 августа 2011

У меня есть пульт дистанционного управления, указывающий на ПК / телевизор

CTRL + P на клавиатуре работает и воспроизводит / делает паузу в приложении.

Пульт дистанционного управления может воспроизводить / приостанавливать воспроизведение в мультимедиаПроигрыватель, но он не работает в приложении WPF.

    public MainWindow()
    {
        InitializeComponent();
        ModifierKeys mk = ((ModifierKeys)(ModifierKeys.Control | ModifierKeys.Shift));
        MyPlayPause.InputGestures.Add(new KeyGesture(Key.P, ModifierKeys.Control));
        MyStop.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
        MyRewind.InputGestures.Add(new KeyGesture(Key.B,mk));
        MyFastForward.InputGestures.Add(new KeyGesture(Key.F,mk));
    }

Мой XAML

<Window.CommandBindings>
    <CommandBinding Command="{x:Static  RemoteControlTest:MainWindow.MyPlayPause}" Executed="MyPlayPauseEvent"/>
    <CommandBinding Command="{x:Static RemoteControlTest:MainWindow.MyStop}" Executed="MyStopEvent"/>
    <CommandBinding Command="{x:Static RemoteControlTest:MainWindow.MyFastForward}" Executed="MyFastForwardEvent" />
    <CommandBinding Command="{x:Static RemoteControlTest:MainWindow.MyRewind}" Executed="MyRewindEvent" />
</Window.CommandBindings>

События работают для перемотки вперед и назад, но не для воспроизведения / паузы и остановки.

Я попытался загрузить Media Glass http://mediaglass.codeplex.com/, и при удаленном нажатии клавиш CTRL + P

* 1016 на пульте ДУ возникла та же проблема. Я обнаружил, что, применив следующее
 System.Windows.Input.Key wpfLeftKey = Key.LeftCtrl;
 var formsKey = (Forms.Keys)KeyInterop.VirtualKeyFromKey(wpfLeftKey);

Я получаю разные результаты из своего вывода

 Windows 32 = LControlKey 
 WPF = LeftControl

Я думаю, что пульт дистанционного управления запрограммирован на отправку LControlKey

Поэтому мне нужно вызвать событие, когдаприложение Win32 записывает LControlKey и принудительно запускает событие.Какие-либо предложения.(После InitiliseComponent ()?

Я мог бы закончить проторенную дорожку здесь или мог бы быть прав. ???

1 Ответ

1 голос
/ 01 августа 2011
...