Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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# 在WPF应用程序中绑定Air Mouse遥控器专用键_C#_Wpf_Key Bindings_Keyboard Hook - Fatal编程技术网

C# 在WPF应用程序中绑定Air Mouse遥控器专用键

C# 在WPF应用程序中绑定Air Mouse遥控器专用键,c#,wpf,key-bindings,keyboard-hook,C#,Wpf,Key Bindings,Keyboard Hook,我想远程控制(空气鼠标)一个WPF应用程序。用户可以选择按键/按钮在应用程序设置中执行特殊操作。 我通过KeyBinding类实现了此功能,如下所示: KeyBinding BindingNext = new KeyBinding() { Command = RemoteNext, Key = ((HotKey)key_choosen.key_value, Modifiers = ((HotKey)key_choosen.modifier_value }; this.InputBindings

我想远程控制(空气鼠标)一个WPF应用程序。用户可以选择按键/按钮在应用程序设置中执行特殊操作。 我通过
KeyBinding
类实现了此功能,如下所示:

KeyBinding BindingNext = new KeyBinding() { Command = RemoteNext, 
Key = ((HotKey)key_choosen.key_value, Modifiers = ((HotKey)key_choosen.modifier_value };
this.InputBindings.Add(BindingNext);
其中:

publicstaticroutedcommand RemoteNext=newroutedcommand()

但我无法用调用Win actions的键解决问题:

  • 电源按钮(控制器上的红色圆圈)。我抓不到这个按钮。它始终执行电源设置中指定的操作(睡眠、关机…)。我需要在程序运行时暂时禁用Windows默认操作,而不更改计算机设置。或者理想情况下,我需要完全改变这个按钮的行动,因为我希望
  • VolumeDownVolumeUpBrowserHome(房屋图标)等。按键绑定在这种情况下起作用,但Windows也会触发系统操作(提高和降低音量,打开浏览器)。我发现的唯一解决方案是通过内核函数的DllImport进行低级全局挂接。这看起来不是解决我问题的好办法。我可以使用“标准”(而不是低级windows挂钩)C#/WPF函数实现我需要的功能吗