UWP:应用程序在后台时监听键盘事件

时间:2016-12-21 21:50:49

标签: c# wpf uwp

我要创建一个UWP应用程序,为键盘keyUp / keyDown事件提供音效。

我在MainPage.xaml.cs编写了以下代码。当我的应用程序在前台时它按预期工作但在最小化/在后台时失败。

Window.Current.CoreWindow.KeyDown +=
    (window, e) =>
    {
        MyMediaElement.Source = new Uri(this.BaseUri, currentSoundEffect.EnterKeyAudio;);
    };

我知道可以在我的应用中注册的进程内/进程外后台任务。但是根据此文档https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/support-your-app-with-background-tasks,后台任务必须被触发,并且只能由System event triggersMaintenance triggerDeviceUseTrigger触发。

我的问题是 1.当我的应用程序不在前台时,我怎么能听键盘事件? 2.如果我必须将事件处理程序(播放音频)放在后台任务中,我该如何触发该任务?

对不起,如果我的问题没有用。

1 个答案:

答案 0 :(得分:0)

你可能需要收听windows api,而不只是当前打开的窗口,因为它没有激活,所以没有收到按键事件:

Windows API: handling keypress event of external window application through C#