我从来没有真正在 Stack Overflow 上提出过问题,尽管我遇到的几乎所有编程问题都在这里找到了答案。可悲的是,今天不是那些日子之一。
我花了一整天的时间在谷歌上搜索,浏览 win32 api,并尝试了各种各样的东西,但我就是找不到我正在寻找的该死的答案。
情况是这样的:我创建了一个 Unity 项目,它使用来自操纵杆的输入,该项目除了统一之外还有其他组件,但这无关紧要,我的问题的基础是:我该如何制作应用程序在失焦/不活动时继续接受输入。
我知道这是可以做到的,因为《无主之地 2》可以做到(昨天我第一次开始尝试寻找答案时发现了这一点,这很令人恼火,因为这证明有办法,但我没有找到它)。
至少如果有人知道如何为鼠标或键盘执行此操作,那将足以让我弄清楚如何将其应用于操纵杆。
一些有用的细节:我是一名狂热且经验丰富的程序员,多年来我一直在使用以下语言进行编码:C/C++、C#、Java 和多种脚本语言。这是我的业余爱好,为了我的工作,在我的业余时间,当我睡觉的时候......
我做过/尝试过的事情:
- 使用
SetFocus
+SetActive
from &作为窗口失去焦点user32
传递null
- 添加
WM_KILLFOCUS
到我想在后台读取输入的另一个窗口的忽略列表 - 用来
sendmessage
欺骗另一个窗口读取输入 覆盖
inputstream
应用程序(但这是无用的意义我无法弄清楚如何通过流发送操纵杆输入,并且还因为如果其他应用程序失焦(即我打开)它仍然没有解决问题意义记事本),输入将停止。我还寻找了一种让 Unity 独立游戏/项目/应用程序在后台接受输入的方法,但这没有产生任何结果。