Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UWP:应用程序处于后台时侦听键盘事件_C#_Wpf_Uwp - Fatal编程技术网

C# UWP:应用程序处于后台时侦听键盘事件

C# UWP:应用程序处于后台时侦听键盘事件,c#,wpf,uwp,C#,Wpf,Uwp,我将创建一个UWP应用程序,它为键盘keyUp/keyDown事件提供音效 我在MainPage.xaml.cs中编写了下面的代码。当我的应用程序在前台时,它按预期工作,但在最小化/在后台时失败 Window.Current.CoreWindow.KeyDown += (window, e) => { MyMediaElement.Source = new Uri(this.BaseUri, currentSoundEffect.EnterKeyAudio;

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

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

Window.Current.CoreWindow.KeyDown +=
    (window, e) =>
    {
        MyMediaElement.Source = new Uri(this.BaseUri, currentSoundEffect.EnterKeyAudio;);
    };
我知道有进程内/进程外后台任务可以在我的应用程序中注册。但根据本文档,后台任务必须触发,并且只能由
系统事件触发器
维护触发器
设备使用触发器
触发

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


如果我的问题没有意义,很抱歉。

您可能需要收听windows api,而不仅仅是当前打开的窗口,因为该窗口未处于活动状态,因此未接收按键事件:


您可能需要收听windows api,而不仅仅是当前打开的窗口,因为该窗口未处于活动状态,因此不会接收按键事件: