首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将鼠标移动的模拟操作发送到UE4应用程序

如何将鼠标移动的模拟操作发送到UE4应用程序
EN

Stack Overflow用户
提问于 2020-06-30 04:20:52
回答 1查看 462关注 0票数 2

整个计算机的鼠标移动可以使用SendInput(MOUSEEVENTF_MOVE)完成,在激活UE4窗口时可以对其进行操作。

考虑到存在多重UE4 Windows,可能需要有一个过渡服务来统一处理它们,但这可能需要切换应用程序,甚至需要桌面。

如果我能将鼠标移动信息发送到指定的UE4进程,那就太好了。不幸的是,键盘输入和鼠标单击可以使用WM_KEYDOWN/WM_LBUTTONDOWN等完成,但仅用WM_MOUSEMOVE无法完成鼠标移动。

我阅读了UE4的源代码,发现它使用VM_INPUT + GetDeviceData来处理鼠标移动事件,因为RAWINPUT的定义是不可见的,所以不能模拟RAWINPUT的消息。此外,微软已经将GlobalAlloc实现为LocalAlloc,因此,即使可以对其进行模拟,也不能将其注入不同的进程。即使可以将它注入到进程中,我也不能在UE4源代码中修改UE4的使用方法。

我听说在webrtc中有一种叫做“像素流”的技术,我们可以使用webrtc直接操作远程UE4应用程序,包括鼠标移动,我测试了它,这是真的,但是我不知道在webrtc中发送了什么消息,如果我知道,也许我可以发送一个类似的消息来操作它。

那么,在没有webrtc的情况下,可以同时操作多个UE4进程吗?

EN

回答 1

Stack Overflow用户

发布于 2020-06-30 11:47:06

我加入了EpicGames,可以克隆最新的源代码,当"bUsingHighPrecisionMouseInput是真的“时,我发现WM_MOUSEMOVE被忽略了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62650246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档