UWP中的鼠标和键盘挂钩:原始输入VS KeyEvents VS Global Hook

时间:2016-08-08 13:39:29

标签: c# c++ hook uwp windows-10-universal

我想在我的UWP应用中挂钩鼠标和键盘,我想知道Raw input,Global Hook和简单的XAML Key事件之间的最佳效果。

说实话,我正在开发一个UWP应用程序来流游戏(使用云服务器渲染,比如nVidia Grid),我想挂钩用户事件(键盘和鼠标)来告诉我服务器用户正在游戏中移动(例如)。

我想到了几种方法:

  • 使用C#中的Universal应用程序在C ++ / CX中创建Windows运行时组件。该组件将使用Raw Input或Global hook来引发鼠标或键盘事件并将其发送回我的UWP应用程序。
  • 只需使用Key事件,例如Grid或其他UI元素上的KeyDown和PointerMoved事件,然后聆听它。

输出将使用套接字连接发送到我的服务器。

什么是性能和简单性的最佳解决方案?

2 个答案:

答案 0 :(得分:1)

您是否尝试过像这样挂入CoreWindow?

Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
Window.Current.CoreWindow.PointerMoved += CoreWindow_PointerMoved;

答案 1 :(得分:0)

似乎只允许关键事件在UWP中挂钩输入。