UWP 中的鼠标和键盘挂钩:原始输入 VS KeyEvents VS 全局挂钩
Mouse and Keyboard hooking in UWP : Raw input VS KeyEvents VS Global Hook
我想在我的 UWP 应用程序中挂钩鼠标和键盘,我想知道 Raw input、全局挂钩和简单的 XAML 键事件之间最好的是什么。
简而言之,我正在开发一个 UWP 应用程序来流式传输游戏(使用云服务器呈现,如 nVidia Grid),我想挂钩用户事件(键盘和鼠标)以告诉我的服务器用户正在游戏中移动(例如)。
我想到了几种方法:
- 在 C++/CX 中创建一个 Windows 运行时组件,供我在 C# 中使用的通用应用程序使用。该组件将使用原始输入或全局挂钩来引发鼠标或键盘事件并将其发送回我的 UWP 应用程序。
- 只需使用 Key 事件,例如 Grid 或其他 UI 元素上的 KeyDown 和 PointerMoved 事件并收听它。
输出将使用套接字连接发送到我的服务器。
什么是性能和简单性的最佳解决方案?
在 UWP 中似乎只允许按键事件挂接输入。
你试过像这样在 CoreWindow 中挂钩吗?
Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
Window.Current.CoreWindow.PointerMoved += CoreWindow_PointerMoved;
我想在我的 UWP 应用程序中挂钩鼠标和键盘,我想知道 Raw input、全局挂钩和简单的 XAML 键事件之间最好的是什么。
简而言之,我正在开发一个 UWP 应用程序来流式传输游戏(使用云服务器呈现,如 nVidia Grid),我想挂钩用户事件(键盘和鼠标)以告诉我的服务器用户正在游戏中移动(例如)。
我想到了几种方法:
- 在 C++/CX 中创建一个 Windows 运行时组件,供我在 C# 中使用的通用应用程序使用。该组件将使用原始输入或全局挂钩来引发鼠标或键盘事件并将其发送回我的 UWP 应用程序。
- 只需使用 Key 事件,例如 Grid 或其他 UI 元素上的 KeyDown 和 PointerMoved 事件并收听它。
输出将使用套接字连接发送到我的服务器。
什么是性能和简单性的最佳解决方案?
在 UWP 中似乎只允许按键事件挂接输入。
你试过像这样在 CoreWindow 中挂钩吗?
Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
Window.Current.CoreWindow.PointerMoved += CoreWindow_PointerMoved;