【问题标题】:Mouse and Keyboard hooking in UWP : Raw input VS KeyEvents VS Global HookUWP 中的鼠标和键盘挂钩:原始输入 VS KeyEvents VS 全局挂钩
【发布时间】:2016-12-14 07:40:33
【问题描述】:

我想在我的 UWP 应用程序中挂钩鼠标和键盘,我想知道 Raw input、全局挂钩和简单的 XAML 键事件之间的最佳选择。

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

我想到了几种方法:

  • 在 C++/CX 中创建一个 Windows 运行时组件,供我在 C# 中的通用应用程序使用。该组件将使用原始输入或全局挂钩来引发鼠标或键盘事件并将其发送回我的 UWP 应用。
  • 只需在 Grid 或其他 UI 元素上使用 Key 事件(如 KeyDown 和 PointerMoved 事件)并监听它。

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

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

【问题讨论】:

  • 您不能在 UWP 中使用原始输入或窗口挂钩。这使得选择非常简单。
  • @HansPassant 有效!谢谢

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


【解决方案1】:

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

【讨论】:

  • 联系 Microsoft 以在 UWP 世界中正确公开 RawInput。
【解决方案2】:

您是否尝试过像这样将 top hook 到 CoreWindow 中?

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

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多